- Dec 28, 2020
-
-
Dan Villiom Podlaski Christiansen authored
-
- Jan 31, 2021
-
-
Dan Villiom Podlaski Christiansen authored
-
Dan Villiom Podlaski Christiansen authored
Mercurial 5.7 changed the behaviour such that an activated bookmark during a clone lead to that being the update target. As far as I can tell, the code in hg-git always seemed to assume that this was the behaviour, but it wasn't. See <https://phab.mercurial-scm.org/D9638>.
-
Dan Villiom Podlaski Christiansen authored
-
- Jan 08, 2021
-
-
Dan Villiom Podlaski Christiansen authored
-
Dan Villiom Podlaski Christiansen authored
-
- Sep 05, 2016
-
-
Dan Villiom Podlaski Christiansen authored
Sharing repository data, but not Git metadata can lead to confusing scenarios, particularly in the face of history editing and/or forced updates. This adds a test for the share integration added in 1003994dd497.
-
- May 15, 2015
-
-
Sean Farley authored
To help improve the speed Mercurial operations, we shouldn't leave the whole repository in the draft phase. The only hueristic git has for 'public' is remote HEAD. Therefore, if remote HEAD exists then we use it to mark the corresponding local commit as public. For now, we'll put this behind a config flag for easier rollback.
-
- Jun 14, 2015
-
-
Sean Farley authored
Previously, there was an edge case for Git repositories that started as Mercurial repositories and had used subrepos where a deleted .hgsubstate would be ignored and therefore reintroduced. This patch fixes that behavior by checking for the deleted .hgsubstate file first. A test has been added to verify behavior.
-
- Jun 11, 2015
-
-
Durham Goode authored
If the importer encountered an error half way through a large import, all the commits are saved, but the mapfile is not written, so the process starts over from the beginning when run again. This adds the option for a config value that will save the map file every X commits. I thought about just hard coding this to 100 or something, but doing it this way seems a little less invasive.
-
- Mar 12, 2015
-
-
Siddharth Agarwal authored
The bookmark output has been stable since well before the oldest Mercurial we support, 2.8.
-
- Dec 02, 2014
-
-
Siddharth Agarwal authored
See inline comments for why the additional metadata needs to be stored. This literally breaks all the hashes because of the additional metadata. The changing of hashes is unfortunate but necessary to preserve bidirectionality. While this could be broken up into multiple commits, there was no way to do that while preserving bidirectionality. Following the principle that every intermediate commit must result in a correct state, I decided to combine the commits.
-
- Mar 04, 2014
-
-
Siddharth Agarwal authored
Since Mercurial is commit-oriented, the 'no changes found' message really should rely on what new commits are in the repo, not on new heads. This also makes an upcoming patch much simpler. Since everything around this code is completely broken anyway, writing a test for this that doesn't trigger other bugs is close to impossible. An upcoming patch will include tests. The test output change is for an empty clone -- the output is precisely how vanilla Mercurial treats an empty clone.
-
- Dec 03, 2013
-
-
Jordi Gutiérrez Hermoso authored
-
- Nov 03, 2012
-
-
David M. Carr authored
Now that we're in the unified test format, there isn't a need to use echo to provide context to command output. This technique actually ends up resulting in redundant output. To preserve the original context, but eliminate the redundancy, such echo statements have been converted into comment lines.
-
David M. Carr authored
Mercurial allows specifying which repository to use via the -R/--repository option. Git allows a similar function using the --git-dir option. By using these options, in many cases we can avoid checking the current directory. This makes tests easier to understand, as you don't need to remember which directory you're in to understand what's going on. It also makes tests easier to write, as you don't need to remember to cd out of a directory when you're done doing things there. Thanks to Felipe Contreras for the patch which this was based on.
-
David M. Carr authored
One or both of these requirements were in almost every test in exactly the same way. Now, these checks are performed in every test that uses the testutil. This makes it easier for test authors to add these checks into new tests (just add a reference to the testutil, which you'd probably want anyway). We considered having each test declare their requirements (currently, either "git" or "dulwich"), but in this case, preferred the simplicity of having the check always performed (even if a particular test doesn't need one or the other). You can't perform any meaningful testing of Hg-Git without both of these dependencies properly configured. The main value to checking for them in the tests (rather than just letting the tests fail) is that it gives a meaningful error message to help people figure out how to fix their environment. In the case that either git or dulwich is missing, the information will be just as clearly conveyed regardless of whether its all the tests that are skipped, or just most of them. I didn't add dulwich to hghave (even though this is clearly the sort of thing that hghave is intended for) because hghave is currently pulled from Mercurial completely unchanged, and it's probably best to keep it that way. Tested by running the tests in three configurations: * No dulwich installed (ran 0, skipped 28, failed 0, output: Skipped *: missing feature: dulwich) * Bad git on path (ran 1, skipped 27, failed 0, output: Skipped *: missing feature: git command line client) * Working git and correct version of dulwich installed (ran 28, skipped 0, failed 0) Thanks to Felipe Contreras for the idea to extract this logic into a library.
-
- Oct 31, 2012
-
-
David M. Carr authored
It's functionally equivalent to create a directory, cd into it, git init, and cd out of the directory, or simply git init with the directory specified. In several cases, we were doing the former without performing any other operations in the git repo, which just made the test unneccesarily complex. Even in the case where we still want to cd into the directory, calling git init with the directory name eliminates the need for a separate mkdir command. This changeset converts the former approach to the latter with the goal of increasing the readability of the tests. Thanks to Felipe Contreras for the patch which this was based on.
-
David M. Carr authored
Thanks to Felipe Contreras for the patch which this was based on. The functions were renamed to make it clearer that these are shell functions rather than normal git/hg commands, and to make it clearer which tool is being invoked. Old name | New name ------------------------ commit | fn_git_commit tag | fn_git_tag hgcommit | fn_hg_commit hgtag | fn_hg_tag Extraction from test-encoding.t was left for a subsequent patch, as I was seeing unexpected output changes when I attempted the extraction. The gitcommit and hgcommit functions in test-bookmark-workflow.t were left as-is for now, as they have a different behavior than the standard version (separate counters for each).
-
David M. Carr authored
Thanks to Felipe Contreras for the patch which this was based on. Even though the MQ extension was only used in a single test (test-pull-after-strip.t), I included it in the testutil. It shouldn't hurt anything to have it enabled and not used, and saves us from having to deal with enabling extensions in individual tests at all. Similarly, this changeset results in the graphlog extension being enabled for all tests, even though there were some that didn't use it before. This is even less significant in Mercurial 2.3+, since in those versions, graphlog is part of core, and is available even when the extension is disabled.
-
- Oct 29, 2012
-
-
David M. Carr authored
Now that hghave git works properly, uncomment the calls, and add ones that were missing.
-
- Oct 27, 2012
-
-
David M. Carr authored
This test wasn't actually testing anything to do with pulling.
-
- Sep 14, 2012
-
-
David M. Carr authored
Dulwich now supports local repositories just fine. Not using the daemon makes the tests easier to read and more reliable (less likely to be skipped because a stray daemon is holding onto the port).
-
David M. Carr authored
In many cases we were piping to a python script to strip out the varying leading path to the test repos. This is no longer needed, as the modern run-test.py automatically substitutes the leading path as $TESTTMP. Eliminating the piping makes the tests easier to read and write, as well as allowing the exit codes to be verified by the test.
-
David M. Carr authored
All of our supported Hg versions include bookmarks in core. Thus, actovating it in the hgrc and setting bookmarks.track.current are no longer needed.
-
- Sep 10, 2012
-
-
David M. Carr authored
-
- May 15, 2011
-
-
Augie Fackler authored
These test changes should make it easier to see what's still broken in 1.8 and 1.9. Ideally, we'll drop pre-1.8 versions soon and rip most of this out, but I'm not sure how realistic that is in the short term.
-
Augie Fackler authored
Makes interrupting a test run more graceful and overall less frustrating.
-
- Nov 23, 2009
-
-
Abderrahim Kitouni authored
-
- Oct 25, 2009
-
-
Augie Fackler authored
Also make all tests bail early if dulwich is not available.
-
- Sep 26, 2009
-
-
Augie Fackler authored
-
- Aug 19, 2009
-
-
Abderrahim Kitouni authored
-
- Aug 11, 2009
-
-
Augie Fackler authored
In particular, newer gits no longer show ... in merged revisions, use ' instead of " when checking out a branch, and changed the output format of commit information completely.
-
- Aug 01, 2009
-
-
Abderrahim Kitouni authored
-