Commit Graph

193 Commits

Author SHA1 Message Date
Augie Fackler
b54f430c7a Merge fix for hg out failing on empty repo. 2011-07-17 14:01:40 -05:00
Scott Chacon
83390977cd only want heads and tags 2011-07-15 15:33:48 -07:00
mcc
fa9b6433a8 In some situations where a reference is being used but does not exist in _map_git or _map_hg, silently skip the reference rather than throwing an error. This allows hg outgoing to work on repositories which do not contain any revisions at all. 2011-07-13 22:15:04 -07:00
Junichi OKADOME
41fa77794d to be recognized port number in path to repository 2011-07-13 17:51:16 +09:00
Brendan Cully
d499a8fc67 Unbreak outgoing to non-git repos with hg pre-1.9
The wrapped version of findoutgoing unconditionally mangled the
keyword arguments, but doesn't do version fixups unless the
remote is a git repository. This change only mangles the argument
list when the remote is a git repository.
2011-06-23 11:29:30 -07:00
Augie Fackler
890facca02 test fixes for progress cleanup 2011-06-17 15:01:31 -05:00
Brendan Cully
d387fe4170 Fix mercurial issue2855
I accidentally broke transplant by making revs a required argument.
2011-06-17 09:23:52 -07:00
Brendan Cully
851456bac4 Convert dulwich progress into mercurial ui.progress
Breaks most tests cosmetically, but for the better.
2011-06-15 23:40:12 -07:00
Brendan Cully
b7ea69294f Prevent exception in incoming with hg <= 1.6
With this patch, incoming against a git repo returns "no changes found"
with hg <= 1.6.
2011-05-31 10:46:52 -07:00
Brendan Cully
95c74ae913 Support for hg incoming 2011-05-24 11:16:45 -07:00
Christian Walther
535c79d7b1 Fix round-trip fidelity for merges of converged files. 2011-05-24 20:07:37 +02:00
Augie Fackler
b0b767dbbe Merge. 2011-05-23 19:32:26 -05:00
César Izurieta
58c48d9319 Use author as email when it is an email 2011-05-23 19:29:33 -03:00
Brendan Cully
59f1915416 Define gitrepo.islocal
This makes hg clone src dst create the correct default path when
src is a local path.
2011-05-23 10:32:38 -07:00
Adrian Sampson
4fa25100ed respect references to tags that differ between git and .hgtags 2011-05-20 22:41:43 -07:00
Adrian Sampson
8c05238aa7 use new names for tags cache attributes if they're available 2011-05-20 22:36:06 -07:00
Brendan Cully
1182e4bbb6 pull: more conservative count of new heads
Testing against the k-9 repository I realized I am counting too many
references as changed after a pull.
2011-05-20 09:47:50 -07:00
Brendan Cully
a36df4d3a1 Make pull results more like hg pulls.
Returns the number of changed heads (refs).
Uses the same "no changes found" message.
2011-05-18 15:12:32 -07:00
Brendan Cully
001a4d567d Only fetch objects that are not already present.
fetch_pack was needlessly walking every ref even when the refs were already
known locally.
2011-05-18 00:31:40 -07:00
Brendan Cully
00fdcfbbc3 Catch GitProtocolError wherever HangupException can occur.
With recent changes to dulwich, this exception occurs in more places.
2011-05-18 00:31:40 -07:00
Brendan Cully
e6be1640a8 Message cleanups
Only show importing/exporting messages when there is something
to do. Change "importing Hg objects into Git" to "exporting
hg objects to git" (and lowercase the other direction).
2011-05-18 00:31:36 -07:00
Brendan Cully
b7699cab00 Improve error reporting in get_refs
With this patch, attempts to push (or run outgoing) to read-only git URLs
at github return github's helpful error message instead of just saying
the remote end hung up.
2011-05-17 16:26:13 -07:00
Augie Fackler
74b9553cd5 Cope with new discovery code without crashing. 2011-05-15 12:26:24 -05:00
Augie Fackler
e7abdc3a9a url wasn't ever published as url.url, and is now util.url 2011-05-15 12:26:03 -05:00
Augie Fackler
b2953e0941 git_handler: support versions of hg without bookmarks 2011-05-15 12:24:25 -05:00
Adrian Sampson
ea2c812385 fix for "outgoing" (previously, always printed all revisions) 2011-05-10 21:39:17 -07:00
Adrian Sampson
e833363641 activate a tipmost bookmark (git branch) after clone 2011-05-10 21:13:18 -07:00
Mads Kiilerich
be6c59edbe compatibility with new url handling in Mercurial 1.9 2011-04-05 13:31:28 +02:00
Augie Fackler
e0d8a4f3f9 Merge spaces in tags fix. 2011-03-23 21:31:26 -05:00
DontCare4Free
9ac9903dfb Indenting fix 2011-03-24 00:26:32 +01:00
DontCare4Free
f9dd37eac6 Made hggit.git_handler.get_changed_refs try to use commands.bookmark before trying with bookmarks.bookmark, for compatibility with Mercurial 1.8+. 2011-03-24 00:13:59 +01:00
Dmitry Gladkov
dc604a8d5b fix handling of spaces in hg tag names 2011-03-23 02:43:32 +02:00
Augie Fackler
d4ab466278 git_handler: update ctx label handling for bookmarks in core 2011-03-01 08:23:09 -06:00
Kevin Bullock
2de8317548 support upcoming Mercurial 1.8 2011-02-24 16:51:40 -06:00
timeless
e0e5ff5a22 progress: use gerund form for import 2011-02-22 14:58:35 +01:00
Alexey Sokolov
f07d1aba51 Fix "hg outgoing" for mercurial versions which look like 1.6.x
Previous commit (hg-c1876c8a2531) assumed that there's nothing between
1.6 and 1.7
But 1.6.3 is more than 1.6, while still less than 1.7
2011-02-15 13:35:03 +06:00
jsumners
162fcb35fb I found that inspect.getargspec(discovery.findoutgoing)[0] was returning [] instead of the expected function definition.
Since the change occurred between Mercurial 1.6 and 1.7, a simple version check works instead.
This fixes https://github.com/schacon/hg-git/issues/issue/168
2011-02-09 10:21:36 -05:00
Mads Kiilerich
f05e529556 Create ssh subprocess with a shell command instead of an exec list
This allows ui.ssh to be configured with a command line fragment instead of
just the name of an executable.
2010-12-25 23:49:16 +01:00
Tay Ray Chuan
b96ab4cee9 pass hg's ui.ssh config to dulwich
This allows Windows users to override dulwich's default (the unix-y
ssh).
2010-12-22 16:57:26 -06:00
Augie Fackler
83cbd0b18e Fix bug where remote ref map wrote out binary nodes. 2010-12-20 23:30:16 -06:00
Augie Fackler
6e81a1af77 hgrepo: completely rework handing of remote refs marking
Previously, we appended to .hg/localtags on every pull. This meant
that we never deleted refs that disappeared on the remote server, and
the file length grew without bound. Now we use our own file
(.hg/git-remote-refs) and we do prune refs that disappear from the
remote server.
2010-12-20 22:37:07 -06:00
Augie Fackler
006aedf259 demandimport: defend against collections breakage in new dulwich 2010-10-29 08:31:42 -05:00
Mike Blume
b4ec782ca1 fix typo -- my bad >.< 2010-10-24 14:19:39 -07:00
Mike Blume
266b9b4429 Looks like the latest version of Dulwich returns a tuple here. Let's handle that 2010-10-24 14:00:32 -07:00
Augie Fackler
c13e8ed89d tests: import test-push-r (with slight changes) from Mercurial
This lets us detect defects in our wrappers which would break
Mercurial when working against normal hg repositories with hg-git
enabled.
2010-08-15 09:45:00 -05:00
Augie Fackler
fe874e7b7f findoutgoing: update wrapper for hg change d844bc669660 2010-07-30 17:24:28 -05:00
Augie Fackler
e2638245c2 gitrepo: update for pushable bookmarks 2010-07-05 11:54:06 -05:00
Augie Fackler
d421c65e08 hgrepo: pass through newbranch arg if pushing to hg 2010-06-18 08:20:47 -05:00
Augie Fackler
bbfe593b68 Add just enough code to handle changes to cset discovery. 2010-06-12 21:49:14 -05:00
Augie Fackler
185de4bf07 Merge documentation of in-tree and cleanup of the variable. 2010-06-12 21:23:01 -05:00
Tay Ray Chuan
75b937c19c enforce stricter matching for pull -r
Use an exact match with the ref name ('foo' in 'refs/heads/foo'),
instead of just checking if it ended with '/foo'.

This allows

  $ hg pull -r foo

to run successfully on a repo containing the branches

 - 'foo',
 - 'mine/foo',
 - 'theirs/foo'
2010-06-02 20:14:26 +08:00
Augie Fackler
28545e94bc Merge fix from Benoit Allard 2010-06-12 21:19:40 -05:00
Augie Fackler
5518aa1a5a Cope with tags being sorted (hg cset 0376c4f17df5) by backporting that behavior 2010-06-12 21:14:33 -05:00
Augie Fackler
b6ff51f6c0 push: handle argspec change from a00aac92bfb9 2010-06-12 21:12:21 -05:00
Benoit Allard
a808ff61ec Fix a traceback when accessing _get_object() on Tag 2010-05-20 00:16:59 +02:00
Tay Ray Chuan
4b2fb41612 explicitly expect boolean values for git.intree 2010-05-17 20:04:02 +08:00
Augie Fackler
c9fb39537b Un-break hg 1.3 by adding a compat layer for progress. 2010-04-30 10:35:13 -05:00
Augie Fackler
a6ef0b0441 Merge style fix 2010-04-05 19:06:48 -05:00
Augie Fackler
5919da5815 git_handler: prefer () continuation to \ continuation. 2010-04-05 19:06:20 -05:00
Tay Ray Chuan
fff9a81fa3 Merge branch 'rc/push-tag' into rc/master 2010-04-04 23:26:46 +08:00
Tay Ray Chuan
58dec6d0a4 when pushing, check if server is advertising annotated tags
Check if already we have these annotated tags; if so, don't push it.

Update test-git-tags too.
2010-04-04 23:16:00 +08:00
Tay Ray Chuan
e09d350f36 Merge branch 'rc/fix-ann-tags' into rc/master 2010-04-04 19:23:34 +08:00
Tay Ray Chuan
8bce9096c1 update references to Tag.get_object()
dulwich recently renamed [1] the Tag.get_object() method to
_get_object(). Update our usage correspondingly.

[1] git reference: f85ce56 (Support determining blob id without joining
all chunks first.)
2010-04-02 20:08:14 +08:00
Tay Ray Chuan
5fae58d6aa handle apply_delta() return value correctly
dulwich recently changed apply_delta() [1] to return lists. Invoke
join() on the output with an empty string, as dulwich does in its
codebase.

[1] git reference: a2709f6 (Return chunks from apply_delta.)
2010-04-02 19:56:50 +08:00
Tay Ray Chuan
dbadcb184b update_remote_branches: don't store de-refed tags
If a git tag is of the annotated-type, the git server sends an
additional line with the SHA-1 the tag dereferences to (eg.
refs/tag/mytag^{}). These aren't "real" tags, so don't store them.
2010-03-29 13:19:52 +08:00
Tay Ray Chuan
336ec5a893 update_remote_branches: refactor head usage
Splice the ref name only once, and don't loop through refs/heads
multiple times.

This changes the order in which hg tags are created; update test output
to reflect this.
2010-03-29 13:19:00 +08:00
Tay Ray Chuan
41495ccdb6 update_remote_branches: don't prepend '/' to heads
We were saving tracking branches to 'refs/remotes/<remote>//<ref>'
(double slash).
2010-03-29 13:00:49 +08:00
Augie Fackler
a18abe29e6 Merge debug message fix. 2010-03-27 22:20:18 -05:00
Augie Fackler
d1961293e0 Various hg 1.4 compat fixes. 2010-03-27 21:37:58 -05:00
Augie Fackler
4e59f313a6 pull: make it possible to un-wedge the repo after stripping git revs
This adds a new command, which is inelegant, but it lets you safely
pick up pulling fairly quickly.
2010-03-25 20:24:00 -05:00
Augie Fackler
65560ee872 hggit: defend against exceptions when pulling with -r 2010-03-25 20:23:00 -05:00
Augie Fackler
c3fa923231 hggit: don't wrap gitrepo with hgrepo 2010-03-25 20:23:00 -05:00
Augie Fackler
bf0efb8a3e git_handler: 80 columns cleanup 2010-03-25 19:39:00 -05:00
Augie Fackler
c5bfabbe71 git_handler: fix % formatting in ref errors. 2010-03-25 19:37:00 -05:00
Tay Ray Chuan
23362335d5 export_hg_commit: fix debug note
We were outputting the raw SHA-1.
2010-03-22 12:25:33 +08:00
Abderrahim Kitouni
2c65097235 fix gimport and add test for using to work on hg repos from git (issue 73) 2010-02-26 19:27:32 +01:00
jeremy avnet
c6ea6998e8 Don't import git submodule files (we don't support them .. yet). 2010-02-23 16:23:09 -05:00
Augie Fackler
fc62064c74 git_handler: use progress API instead of reinventing the wheel 2010-02-24 21:08:38 -06:00
Augie Fackler
42a1ea9ecf git_handler: slight style cleanup 2010-02-24 21:08:19 -06:00
Benoit Boissinot
dff5d44529 sort heads by commit date in topological sort 2010-02-24 17:21:25 +01:00
Benoit Boissinot
ec3fad56d9 use a simple toposort algorithm for DAG (post order from a DFS from the heads) 2010-02-24 17:21:23 +01:00
Benoit Boissinot
b1861d6f6d make sure no tag object are included in the DAG we build 2010-02-24 17:21:20 +01:00
Augie Fackler
ca2a34eaec init: strip .git for default clone destination for git sources 2010-01-11 20:48:43 -06:00
Augie Fackler
b2653f208f init: whitespace cleanup 2010-01-11 20:46:52 -06:00
Augie Fackler
48f2a58b23 Merge with abderrahim. 2009-12-26 13:31:24 -06:00
Augie Fackler
504dd7f416 git_handler: update for slight API change in bookmarks
This should continue being backwards compatible through at least hg 1.3, perhaps further.
2009-12-26 12:22:06 -06:00
Abderrahim Kitouni
91561c5a2e fix a bug when a directory is replaced with a file
also use ObjectStore.tree_changes from dulwich instead of our own func
(the change to test octopus is legitimate, there were some duplicate
entries)
2009-12-25 08:56:20 +01:00
Antonin Amand
e4c754e5b8 remove unused imports 2009-11-29 16:29:18 +01:00
Antonin Amand
f57a02a4cc python 2.4 syntax fix 2009-11-29 16:24:34 +01:00
Lincoln Stoll
86d0cc6948 Enable detection of bare repositories as a local git repo 2009-10-26 17:52:32 +01:00
Lincoln Stoll
d255491879 Handle normal relative SSH paths (i.e for heroku and gitosis) as well as github style paths. 2009-10-19 17:48:07 +02:00
Augie Fackler
fbdfb75d81 Merge with abderrahim. 2009-10-25 10:55:12 -05:00
Kevin Bullock
25a2b1d0a1 package with distutils
(patch tweaked slightly by Augie Fackler)
2009-09-30 14:39:49 -05:00