Commits

Author Commit Message Labels Comments Date
David Schleimer
layouts: use layout library in hg svn info
David Schleimer
layouts: use layouts library for branch mapping with generating .hgignore
David Schleimer
layouts: refactor path component of convinfo generation into layouts lib This adds code responsible for producing an absolute path within the subversion repository to the new layout objects. It also uses that code to generate the path component of the conversion info we stick into extra.
David Schleimer
layouts: refactor mercurial branch to svn path mapping out of svnmeta This leaves the existing svnmeta.remotename as a proxy to the new layout objects rather than updating any of the callsites.
David Schleimer
layouts: refactor out svn path to mercurial branch logic This pulls the logic for mapping from svn path to mercurial branch name out of svnmeta.py and into the new layouts library. It also sets up the structure for that library. This diff does not modify any call to svnmeta.localname, rather leaving it in place as a simple proxy to the new layout object.
Matt Mackall
commit: fix exception handling on transaction close On SVN 1.6 at least, a failing pre-commit hook appears to abort a commit transaction without us needing to do it manually. This is apparently managed by a callback at the end of SVN's internal commit callback chain. Subsequently trying to abort an already-aborted transaction results in a spurious "Transaction cleanup failed" message that breaks tests. To fix this, we simply move the commit call …
Matt Mackall
revsets: fix nativerevs fallback
Matt Mackall
revsets: add support for 'r123' revision labels This is controlled by an hgsubversion.nativerevs boolean (off by default).
Bryan O'Sullivan
setup: add layouts subdir
David Schleimer
layouts: refactor buildmeta layout reading and writing
David Schleimer
layouts: refactor layout loading and persisting out of svnmeta.py
David Schleimer
layouts: refactor layout loading based on config into function Refactor the logic for loading the layout based on config, and for validating that config is sane into a single function.
David Schleimer
layouts: pull out code for detecting layout from subversion This is the start of an effort to refactor the code for how we handle subversion layoout to mercurial layout mapping. Specifically, it pulls out the logic for guessing what layout to use based on the contents of subversion. It also sets up a bit of the structure for the new library.
David Schleimer
testutil: clear rcpath when we update HGRCPATH env var hg maintains a global cache of the HGRCPATH that doesn't get updated when HGRCPATH is changed. Nuke said global cache when we change the HGRCPATH.
David Schleimer
buildmeta: verify uuid when passed explicit url 2c87bdc43d3c changed buildmeta to read the uuid from local disk, if it's available. As a side effect, it disabled the validation of the uuid we've recorded locall in the commits against the uuid of the repo we are building against. This is probably reasonable when someone runs a bare updatemeta or rebuildmeta. I think it's a worthwhile sanity check when someone passes an explicit repository url…
Augie Fackler
test_util: specify a username in our test-run hgrc.
Augie Fackler
Merge
Michael Connor
bundle: add 'portable' parameter to prevent error (issue383) hgsubversion does not fully implement the -r/--rev flag for `hg bundle` so would crash when passed this parameter since the wrapped findcommonoutgoing did not match the parameter list hg expects. With this patch the portable parameter is added to this function, but remains unused so that `hg bundle -r` will properly generate a bundle, but up to tip (in essence ignoring -r parameter).
Jamie Clayton
Improve UX. Update the implicit Path name for working with SVN repositories.
Bryan O'Sullivan
buildmeta: do not contact svn unless needed We read uuid and subdir information from local metadata if available. Only if they do not exist do we need to construct an svnremoterepo object.
Bryan O'Sullivan
buildmeta: initialize uuid from local metadata if possible
Bryan O'Sullivan
svncommands: split write_if_needed into two functions
Bryan O'Sullivan
buildmeta: write subdir and layout files only if needed
Bryan O'Sullivan
buildmeta: only write the uuid file if needed We used to write it unconditionally.
Kapil Bajaj
push: avoid failure when push is being called from a newly created subdirectory The failure was occuring during push when a new file is added inside a new subdirectory and push is being called from this subdirectory. This subdirectory disappears when the commit is being rebased[during push] causing the push to fail with 'no such file/directory' error.
DurhamG
push: avoid rebasing when we know there are no conflicts When pushing multiple commits, push would do one rebase per commit. This changes it track the files that have been changed as part of the push and only perform a rebase if the commit touches a file that has been changed previously. On our repo, push used to take 25 seconds per commit. With this change it takes closer to 10 seconds per commit (if there are no conflicts).
DurhamG
push: rebase one at a time before push Previously when pushing n commits, push would rebase n, commit 1, rebase n-1, commit 1, rebase n-2, etc. This caused push to be very slow on large repositories. Pushing 10 commits on our repo took 75 seconds per commit, and that grew at n^2 with the number of commits being pushed. This changes push to rebase each commit individually. Now pushing 10 commits on our repo takes 25 seconds per commit,…
Patrick Mézard
updatemeta: fix missing errno import
Patrick Mézard
updatemeta: add missing EOL to status messages
Anton Agafonov
Fixes bug #358. Display correct error message if a svn pre-commit hook blocks the push
  1. Prev
  2. Next