David M. Carr
fb9384235f
push: return 1 if no changes found, 0 if success
...
While working on some other tests, I noticed that the push command was returning
exit code 1 on success. This changeset makes hgrepo.push use the same return
code contract as localrepo.push, which makes the exit codes behave as expected.
2012-09-05 23:27:31 -04:00
Augie Fackler
41c1d684a6
submodules: only use the ordereddict backport if collections.OrderedDict is unavailable
2012-08-28 09:09:01 -05:00
Augie Fackler
b67b731687
git_handler: remove tab character that snuck in
2012-08-28 09:08:22 -05:00
David M. Carr
20a3702adc
revsets: add fromgit and gitnode selectors
...
Support for Hg 1.5.4 was removed, as it doesn't support revsets and is older
than the earliest version we want to put special effort into supporting.
2012-08-22 23:39:45 -04:00
David M. Carr
11cde56154
templatekw: add support for gitnode template keyword
2012-08-22 23:39:45 -04:00
David M. Carr
9e4da6cfb3
help: add additional help topics
2012-08-22 23:39:45 -04:00
Mads Kiilerich
0c4f25ccd3
git_handler: fix safehasattr - hg util is hgutil
2012-08-13 18:56:27 +02:00
Artem Tikhomirov
d87f82457b
Subrepos: generate .hgsubstate and .hgsub based on gitlinks and .gitmodules, preserve gitlinks on hg commit export. Tests included. Dependency from PyPI's ordereddict to use OrderedDict
2012-08-06 18:30:33 +02:00
Augie Fackler
15e2601c3a
overlaymanifest: add the withflags method introduced in hg change 3f7abfd06d2d
2012-07-26 18:59:19 -05:00
Augie Fackler
e49137e34a
girepo: add _capabilities method expected after the peer refactor
2012-07-26 18:58:18 -05:00
Toshi MARUYAMA
2833d729d3
hgrepo: fix _findtags changes on Mercurial 2.2
2012-07-08 16:10:23 +09:00
Artem Tikhomirov
274ecce47c
repository in mercurial.repo.py starts with lowercase
2012-07-26 19:01:17 +02:00
Augie Fackler
13504b1f1e
gitrepo: correct capitalization of peerrepository
2012-07-19 19:36:57 -05:00
Bryan O'Sullivan
d0a3db710b
gitrepo: cope with module/class renames in hg 2.3
2012-07-18 13:16:43 -07:00
Kevin Bullock
5ea6165dba
git_handler: fix import_git_objects for Mercurial 2.0+ (issue 36)
...
This resolves a traceback on pull where hg-git is looking for the
nonexistent repo._tagtypes.
2012-07-04 09:39:23 -05:00
Augie Fackler
27851f0e49
gitrepo: add url() attribute to fix subrepo support
2012-05-12 03:33:19 -05:00
Augie Fackler
62d195c6c8
git_handler: add missing not from hg metadata extraction
2012-04-21 12:21:29 -05:00
Sean Farley
b8476fff7c
git_handler: fix line.split error when bad data from a rebase is in the log
2012-03-31 13:55:06 -05:00
Mike Bayer
f764a03014
- add "author file" extension, allows an author translation map
...
to put more legit author names in the outgoing git repo
2012-02-23 13:49:07 -05:00
Keshav Kini
89e9168ff4
Remove illegal characters from username/email
...
Includes a doctest and tests in test-hg/author for the correct behavior.
2012-02-15 09:30:06 +08:00
Jason R. Coombs
c927a00fe4
Strip trailing slash for heroku-style URLs. Fixes #31 . Includes a regression test for the fix.
2012-01-27 22:48:55 -05:00
Jason R. Coombs
9eee4f19dc
Removed support for URLs beginning with git@. These URLs are not possible from within mercurial.
2012-01-27 13:24:31 -05:00
Jason R. Coombs
dce42e28df
Simplified URL handling with a single regular expression. This change enables port declarations with colon-separated urls.
2012-01-26 22:20:31 -05:00
Augie Fackler
2d280d3dfb
Update for newer dulwich and hg versions.
2012-01-27 11:06:27 -06:00
Mike Bayer
05e4d83f4b
- add "branch_bookmark_names" parameter. this allows bookmarks
...
that mimic a branchname to be maintained on the git side without
a particular suffix - e.g. if the hg repo had a branch "release_05",
and a bookmark created onto it "release_05_bookmark", the branch on the
git side would be named "release_05". When pulling branches back from
git, if an hg named branch of that name exists, the suffix is appended
back onto the name before creating a bookmark on the hg side.
This is strictly so that a git repo can be generated that has the
same "branch names" as an older hg repo that has named branches, and
has had bookmarks added in to mirror the branch names.
This is given the restrictions that
A. hg named branches can never be renamed and B. hg-git only supports
hg bookmarks, not branches
2011-12-18 18:54:16 -05:00
Dan Villiom Podlaski Christiansen
78c2d2b9f4
add support for the HTTP smart protocol when using Dulwich tip
...
I have tested this with unauthenticated pulls from
Bitbucket. Authentication appears broken; I suspect this is a
limitation in Dulwich.
2011-10-05 22:44:29 +02:00
Ehsan Akhgari
d57f385799
Improve the parsing of author lines from Mercurial to generate committer and author lines that git can correctly understand
...
Signed-off-by: Ehsan Akhgari <ehsan.akhgari@gmail.com>
---
I found a number of bugs when I was trying to convert Mozila's hg repository
to git using hg-git. This patch fixes a number of bugs with irregular
author lines present in hg repositories. Git cannot correctly process a
commit object which has a committer or author line in a format that it does
not understand, which makes it not be able to handle the repositories
with have such commit objects.
The added test cases shows the irregular cases that this patch is able to
deal with.
2011-09-09 16:12:49 -05:00
Augie Fackler
7659e2b8a6
outgoing: abort on broken hg versions rather than printing wrong results
2011-09-09 16:08:31 -05:00
Augie Fackler
2a4f0d3a5b
Adapt to atomictempfile API changes from Mercurial.
2011-09-09 16:00:52 -05:00
Augie Fackler
9b926199fe
Merge test fixes for dulwich changes and output changes.
2011-09-09 15:44:25 -05:00
Augie Fackler
b8794ce003
Merge incoming fix.
2011-09-09 15:43:35 -05:00
Augie Fackler
9e574c9364
getremotechanges: fix incoming support
...
'hg incoming' causes getremotechanges to be called with revs as a
positional argument, which we were not correctly catching here.
2011-09-09 15:42:24 -05:00
Augie Fackler
bad8d98927
overlay: stop using deprecated tree.entries() method
2011-09-09 13:44:58 -05:00
Augie Fackler
43c3024db6
Fix all-version-tests.
2011-07-19 08:11:02 -05:00
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