Mark Nauwelaerts
0bfbc0da4b
Merge pull request #4 from novalis/dturner/do-not-mangle-quotes
...
Optionally don't mangle git usernames with quotes
2016-12-06 22:02:02 +01:00
David Turner
a1ca279d92
Optionally don't mangle git usernames with quotes
...
By default, for backwards compatibility with earlier versions,
git-remote-hg removes quotation marks from git usernames
(e.g. 'Raffaello "Raphael" Sanzio da Urbino <raphael@example.com >'
would become 'Raffaello Raphael Sanzio da Urbino
<raphael@example.com >'). This breaks round-trip compatibility; a git
commit by an author with quotes would become an hg commit without,
and if re-imported into git, would get a different SHA1.
To restore round-trip compatibility (at the cost of backwards
compatibility with commits converted by older versions of
git-remote-hg), add an option 'remote-hg.remove-username-quotes'. This
option defaults to true (for backwards compatibility).
2016-12-05 16:08:01 -05:00
David Turner
e19dd84571
hack for submodules
...
A complete solution for submodules might be to convert them to hg
subrepositories. But this would, in the general case, be quite
difficult -- for instance, local copies of all historical submodule
commits might not be available, and repositories might have moved
around.
It's better to do the conversion in some understandable way than to
crash with a weird error message, so let's do that.
2016-11-29 16:41:21 -05:00
Mark Nauwelaerts
1d94ba2d42
Add compatibility for Mercurial v4.0
...
Fixes felipec/git-remote-hg#66
2016-11-22 19:54:09 +01:00
Mark Nauwelaerts
85b585b824
Make unit test for executable rename slightly more resilient.
2016-11-15 20:51:21 +01:00
David Turner
e8c88c70d9
Fix mode setting in the case of moved executable files
2016-11-14 18:13:56 -05:00
Mark Nauwelaerts
a35f93cbc1
Fix duplication typos in marks file migration.
...
Fixes mnauw/git-remote-hg#1
2016-11-12 16:18:04 +01:00
Mark Nauwelaerts
a59e1246a2
Refactor updating of notes upon fetch and push
2016-10-18 21:32:26 +02:00
Mark Nauwelaerts
cbbbaddc41
Support using shared marks files for all remotes
...
... which essentially track the shared bag of revisions that
the shared proxy repo constitutes.
2016-10-18 21:32:19 +02:00
Mark Nauwelaerts
5d429d2da1
Refactor all marks file path access through common variable
2016-10-18 21:32:11 +02:00
Mark Nauwelaerts
94bb2488e8
Fix comment typo
2016-10-18 21:32:04 +02:00
Mark Nauwelaerts
e759d5232d
README: clarify documentation on strip recovery
2016-10-18 21:31:57 +02:00
Mark Nauwelaerts
af96a84c98
Do not actually delete branch in case of dry-run
2016-10-18 21:31:48 +02:00
Mark Nauwelaerts
2ce962c5ab
Really delete the private branch ref when deleting a branch
2016-10-18 21:31:34 +02:00
Mark Nauwelaerts
8ac5532eb1
Add to copyright for recent changes
...
... as there have been quite some by now.
2016-10-18 21:18:21 +02:00
Mark Nauwelaerts
9528e757d3
git-hg-helper: use an absolute path in sharedpath to refer to shared repo
...
... as some Mercurial commands are otherwise confused, e.g. thg.
2016-08-20 11:05:54 +02:00
Mark Nauwelaerts
628c45a4a9
Avoid bytecode generation when importing
2016-08-20 11:05:54 +02:00
Mark Nauwelaerts
55689eb0a8
git-hg-helper: refactor importing sibling module
2016-08-20 11:05:54 +02:00
Mark Nauwelaerts
7be9bf3db4
git-hg-helper: ensure proper directory tracking
2016-08-20 11:05:49 +02:00
Mark Nauwelaerts
20e923cf91
git-hg-helper: gc: resurrect Mercurial repo revision checking
2016-08-20 11:05:49 +02:00
Mark Nauwelaerts
a7ea76788c
README: update documentation with latest changes on fetching
2016-08-13 14:28:04 +02:00
Mark Nauwelaerts
5999a10519
git-hg-helper: repurpose marks subcommand to gc subcommand
2016-08-13 14:28:01 +02:00
Mark Nauwelaerts
0853bc0230
Tips metadata is now obsolete on fetch as well as push
...
... so discard it altogether when reading marks.
All this also removes fetch-first error which is either no error at all or
is either really a non-fast-forward error.
2016-08-13 14:28:00 +02:00
Mark Nauwelaerts
b3fccddd9f
Transform gitrange into a more effective revwalk
...
Fixes felipec/git-remote-hg#14
Fixes felipec/git-remote-hg#26
2016-08-13 14:27:57 +02:00
Mark Nauwelaerts
7f99aa2565
Ensure sane ratio in progress reporting
2016-08-13 14:27:54 +02:00
Mark Nauwelaerts
63c742e4a6
Add warning about disabling capability_push mode
...
... as the old mode is not so safe and on its way to deprecation.
2016-08-13 14:27:52 +02:00
Mark Nauwelaerts
6cff0327aa
Always update notes on push
...
... at least in the sane capability_push mode.
Remove documentation on obsolete push-updates-notes setting.
2016-08-13 14:27:52 +02:00
Mark Nauwelaerts
5acd0028b4
Ensure transaction safe notes update on push
2016-08-13 14:27:52 +02:00
Mark Nauwelaerts
4f910f65d9
Also still track notes HEAD during import
...
Fixes felipec/git-remote-hg#58
2016-08-13 14:27:45 +02:00
Mark Nauwelaerts
7d82847d52
README: add documentation on subrepo support
2016-08-01 14:57:01 +02:00
Mark Nauwelaerts
37cd2f24ac
git-hg-helper: add support for subrepo management
...
See felipec/git-remote-hg#1
2016-08-01 14:57:01 +02:00
Mark Nauwelaerts
585e36edb9
README: add documentation on additional features such as git-hg-helper
2016-08-01 14:57:01 +02:00
Mark Nauwelaerts
dd08e25665
doc: extend manpage with additional config settings
2016-08-01 14:57:01 +02:00
Mark Nauwelaerts
5905eb2231
Make a push optionally update notes as well
...
... as configured by remote-hg.push-updates-notes setting.
2016-08-01 14:57:01 +02:00
Mark Nauwelaerts
ebdd2f32ab
Add support for automagic hg revision identification and pushing
2016-08-01 14:57:01 +02:00
Mark Nauwelaerts
f8709175bf
Separate head checking and revision pushing
...
Also remove some superfluous function parameters and add another one
to avoid using global var.
2016-08-01 14:57:01 +02:00
Mark Nauwelaerts
38741e0bbf
Add git-hg-helper
2016-08-01 14:57:01 +02:00
Mark Nauwelaerts
e2f68018cd
Allow using git-remote-hg as module
2016-08-01 14:57:01 +02:00
Mark Nauwelaerts
e62984edde
README: add hiding of refs/hg
2016-08-01 14:57:01 +02:00
Mark Nauwelaerts
7b53adef7b
Avoid refs/hg clutter; keep private implementation refs really private
2016-08-01 14:57:01 +02:00
Mark Nauwelaerts
858ca2c68a
README: explain effects of capability push implementation
2016-08-01 14:57:01 +02:00
Mark Nauwelaerts
093cb8ba94
README: some obligatory fork adjustments
2016-08-01 14:57:01 +02:00
Mark Nauwelaerts
cd742bee40
doc: extend manpage with config settings and some technical background
2016-08-01 14:57:01 +02:00
Mark Nauwelaerts
1d0c78eebc
test: expect dry-run push test to pass now
2016-08-01 14:57:00 +02:00
Mark Nauwelaerts
8e81bc8515
Add source:dest push refspec support
2016-08-01 14:57:00 +02:00
Mark Nauwelaerts
bd2e030cb0
Add remote bookmark delete support
2016-08-01 14:57:00 +02:00
Mark Nauwelaerts
410e0d74ec
test: add test for rename/copy detection
2016-08-01 14:57:00 +02:00
Mark Nauwelaerts
93dd913590
Implement remote-helper push capability
...
Push capability is used depending on remote-hg.capability-push setting and ...
* handles dry-run properly,
* passes copy and rename information onto Mercurial
Fixes felipec/git-remote-hg#61
2016-08-01 14:56:42 +02:00
Mark Nauwelaerts
418af65bf0
Support processing git-fast-export's filecopy and filerename
2016-08-01 14:15:47 +02:00
Mark Nauwelaerts
d7db83bd2c
Handle pushing bookmarks without pushing changesets
...
Also prevent errors when trying to push no changesets to a peer, which some
combinations of versions and extensions do not handle well;
see e.g. as in felipec/git-remote-hg#32 and felipec/git-remote-hg#22
2016-08-01 14:12:09 +02:00