Show More
@@ -9,7 +9,7 b' from node import hex, nullid, nullrev, s' | |||||
9 | from lock import release |
|
9 | from lock import release | |
10 | from i18n import _, gettext |
|
10 | from i18n import _, gettext | |
11 | import os, re, sys, difflib, time, tempfile |
|
11 | import os, re, sys, difflib, time, tempfile | |
12 |
import hg, util, revlog, |
|
12 | import hg, util, revlog, extensions, copies, error | |
13 | import patch, help, mdiff, url, encoding, templatekw, discovery |
|
13 | import patch, help, mdiff, url, encoding, templatekw, discovery | |
14 | import archival, changegroup, cmdutil, sshserver, hbisect, hgweb, hgweb.server |
|
14 | import archival, changegroup, cmdutil, sshserver, hbisect, hgweb, hgweb.server | |
15 | import merge as mergemod |
|
15 | import merge as mergemod | |
@@ -2357,66 +2357,7 b' def incoming(ui, repo, source="default",' | |||||
2357 |
|
2357 | |||
2358 | Returns 0 if there are incoming changes, 1 otherwise. |
|
2358 | Returns 0 if there are incoming changes, 1 otherwise. | |
2359 | """ |
|
2359 | """ | |
2360 | limit = cmdutil.loglimit(opts) |
|
2360 | return hg.incoming(ui, repo, source, opts) | |
2361 | source, branches = hg.parseurl(ui.expandpath(source), opts.get('branch')) |
|
|||
2362 | other = hg.repository(hg.remoteui(repo, opts), source) |
|
|||
2363 | ui.status(_('comparing with %s\n') % url.hidepassword(source)) |
|
|||
2364 | revs, checkout = hg.addbranchrevs(repo, other, branches, opts.get('rev')) |
|
|||
2365 | if revs: |
|
|||
2366 | revs = [other.lookup(rev) for rev in revs] |
|
|||
2367 |
|
||||
2368 | tmp = discovery.findcommonincoming(repo, other, heads=revs, |
|
|||
2369 | force=opts.get('force')) |
|
|||
2370 | common, incoming, rheads = tmp |
|
|||
2371 | if not incoming: |
|
|||
2372 | try: |
|
|||
2373 | os.unlink(opts["bundle"]) |
|
|||
2374 | except: |
|
|||
2375 | pass |
|
|||
2376 | ui.status(_("no changes found\n")) |
|
|||
2377 | return 1 |
|
|||
2378 |
|
||||
2379 | cleanup = None |
|
|||
2380 | try: |
|
|||
2381 | fname = opts["bundle"] |
|
|||
2382 | if fname or not other.local(): |
|
|||
2383 | # create a bundle (uncompressed if other repo is not local) |
|
|||
2384 |
|
||||
2385 | if revs is None and other.capable('changegroupsubset'): |
|
|||
2386 | revs = rheads |
|
|||
2387 |
|
||||
2388 | if revs is None: |
|
|||
2389 | cg = other.changegroup(incoming, "incoming") |
|
|||
2390 | else: |
|
|||
2391 | cg = other.changegroupsubset(incoming, revs, 'incoming') |
|
|||
2392 | bundletype = other.local() and "HG10BZ" or "HG10UN" |
|
|||
2393 | fname = cleanup = changegroup.writebundle(cg, fname, bundletype) |
|
|||
2394 | # keep written bundle? |
|
|||
2395 | if opts["bundle"]: |
|
|||
2396 | cleanup = None |
|
|||
2397 | if not other.local(): |
|
|||
2398 | # use the created uncompressed bundlerepo |
|
|||
2399 | other = bundlerepo.bundlerepository(ui, repo.root, fname) |
|
|||
2400 |
|
||||
2401 | o = other.changelog.nodesbetween(incoming, revs)[0] |
|
|||
2402 | if opts.get('newest_first'): |
|
|||
2403 | o.reverse() |
|
|||
2404 | displayer = cmdutil.show_changeset(ui, other, opts) |
|
|||
2405 | count = 0 |
|
|||
2406 | for n in o: |
|
|||
2407 | if limit is not None and count >= limit: |
|
|||
2408 | break |
|
|||
2409 | parents = [p for p in other.changelog.parents(n) if p != nullid] |
|
|||
2410 | if opts.get('no_merges') and len(parents) == 2: |
|
|||
2411 | continue |
|
|||
2412 | count += 1 |
|
|||
2413 | displayer.show(other[n]) |
|
|||
2414 | displayer.close() |
|
|||
2415 | finally: |
|
|||
2416 | if hasattr(other, 'close'): |
|
|||
2417 | other.close() |
|
|||
2418 | if cleanup: |
|
|||
2419 | os.unlink(cleanup) |
|
|||
2420 |
|
2361 | |||
2421 | def init(ui, dest=".", **opts): |
|
2362 | def init(ui, dest=".", **opts): | |
2422 | """create a new repository in the given directory |
|
2363 | """create a new repository in the given directory |
@@ -11,7 +11,7 b' from lock import release' | |||||
11 | from node import hex, nullid, nullrev, short |
|
11 | from node import hex, nullid, nullrev, short | |
12 | import localrepo, bundlerepo, httprepo, sshrepo, statichttprepo |
|
12 | import localrepo, bundlerepo, httprepo, sshrepo, statichttprepo | |
13 | import lock, util, extensions, error, encoding, node |
|
13 | import lock, util, extensions, error, encoding, node | |
14 | import cmdutil, discovery, url |
|
14 | import cmdutil, discovery, url, changegroup | |
15 | import merge as mergemod |
|
15 | import merge as mergemod | |
16 | import verify as verifymod |
|
16 | import verify as verifymod | |
17 | import errno, os, shutil |
|
17 | import errno, os, shutil | |
@@ -408,6 +408,68 b' def merge(repo, node, force=None, remind' | |||||
408 | repo.ui.status(_("(branch merge, don't forget to commit)\n")) |
|
408 | repo.ui.status(_("(branch merge, don't forget to commit)\n")) | |
409 | return stats[3] > 0 |
|
409 | return stats[3] > 0 | |
410 |
|
410 | |||
|
411 | def incoming(ui, repo, source, opts): | |||
|
412 | limit = cmdutil.loglimit(opts) | |||
|
413 | source, branches = parseurl(ui.expandpath(source), opts.get('branch')) | |||
|
414 | other = repository(remoteui(repo, opts), source) | |||
|
415 | ui.status(_('comparing with %s\n') % url.hidepassword(source)) | |||
|
416 | revs, checkout = addbranchrevs(repo, other, branches, opts.get('rev')) | |||
|
417 | if revs: | |||
|
418 | revs = [other.lookup(rev) for rev in revs] | |||
|
419 | ||||
|
420 | tmp = discovery.findcommonincoming(repo, other, heads=revs, | |||
|
421 | force=opts.get('force')) | |||
|
422 | common, incoming, rheads = tmp | |||
|
423 | if not incoming: | |||
|
424 | try: | |||
|
425 | os.unlink(opts["bundle"]) | |||
|
426 | except: | |||
|
427 | pass | |||
|
428 | ui.status(_("no changes found\n")) | |||
|
429 | return 1 | |||
|
430 | ||||
|
431 | cleanup = None | |||
|
432 | try: | |||
|
433 | fname = opts["bundle"] | |||
|
434 | if fname or not other.local(): | |||
|
435 | # create a bundle (uncompressed if other repo is not local) | |||
|
436 | ||||
|
437 | if revs is None and other.capable('changegroupsubset'): | |||
|
438 | revs = rheads | |||
|
439 | ||||
|
440 | if revs is None: | |||
|
441 | cg = other.changegroup(incoming, "incoming") | |||
|
442 | else: | |||
|
443 | cg = other.changegroupsubset(incoming, revs, 'incoming') | |||
|
444 | bundletype = other.local() and "HG10BZ" or "HG10UN" | |||
|
445 | fname = cleanup = changegroup.writebundle(cg, fname, bundletype) | |||
|
446 | # keep written bundle? | |||
|
447 | if opts["bundle"]: | |||
|
448 | cleanup = None | |||
|
449 | if not other.local(): | |||
|
450 | # use the created uncompressed bundlerepo | |||
|
451 | other = bundlerepo.bundlerepository(ui, repo.root, fname) | |||
|
452 | ||||
|
453 | o = other.changelog.nodesbetween(incoming, revs)[0] | |||
|
454 | if opts.get('newest_first'): | |||
|
455 | o.reverse() | |||
|
456 | displayer = cmdutil.show_changeset(ui, other, opts) | |||
|
457 | count = 0 | |||
|
458 | for n in o: | |||
|
459 | if limit is not None and count >= limit: | |||
|
460 | break | |||
|
461 | parents = [p for p in other.changelog.parents(n) if p != nullid] | |||
|
462 | if opts.get('no_merges') and len(parents) == 2: | |||
|
463 | continue | |||
|
464 | count += 1 | |||
|
465 | displayer.show(other[n]) | |||
|
466 | displayer.close() | |||
|
467 | finally: | |||
|
468 | if hasattr(other, 'close'): | |||
|
469 | other.close() | |||
|
470 | if cleanup: | |||
|
471 | os.unlink(cleanup) | |||
|
472 | ||||
411 | def outgoing(ui, repo, dest, opts): |
|
473 | def outgoing(ui, repo, dest, opts): | |
412 | limit = cmdutil.loglimit(opts) |
|
474 | limit = cmdutil.loglimit(opts) | |
413 | dest = ui.expandpath(dest or 'default-push', dest or 'default') |
|
475 | dest = ui.expandpath(dest or 'default-push', dest or 'default') |
General Comments 0
You need to be logged in to leave comments.
Login now