Mercurial > hg
view tests/test-histedit-fold-non-commute.t @ 35733:3d48ae1aaa5e
lfs: default the User-Agent header for blob transfers to 'git-lfs'
The custom User-Agent for blob transfers was added in e7bb5fc4570c. Now I've
hit another incompatibility with a server wanting the string to start with
'git' or 'git-lfs' [1]. I don't feel strongly about this either way, but a
Wireshark trace of git shows that when the Batch API is hit, the User-Agent is
'git-lfs/2.3.4'. So this would probably ensure maximum interoperability.
This still leaves the experimental knob in, just in case.
[1] https://bitbucket.org/sdorra/scm-manager/src/095a027178888bc2b819aebfae3d2c192c858030/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/GitUserAgentProvider.java?at=default&fileviewer=file-view-default#GitUserAgentProvider.java-117
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Thu, 18 Jan 2018 15:59:21 -0500 |
parents | 37ab9e20991c |
children | 15d2afa31e57 |
line wrap: on
line source
$ . "$TESTDIR/histedit-helpers.sh" $ cat >> $HGRCPATH <<EOF > [extensions] > histedit= > EOF $ modwithdate () > { > echo $1 > $1 > hg ci -m $1 -d "$2 0" > } $ initrepo () > { > hg init $1 > cd $1 > for x in a b c d e f ; do > echo $x$x$x$x$x > $x > hg add $x > done > hg ci -m 'Initial commit' > modwithdate a 1 > modwithdate b 2 > modwithdate c 3 > modwithdate d 4 > modwithdate e 5 > modwithdate f 6 > echo 'I can haz no commute' > e > hg ci -m 'does not commute with e' -d '7 0' > cd .. > } $ initrepo r $ cd r Initial generation of the command files $ EDITED="$TESTTMP/editedhistory" $ hg log --template 'pick {node|short} {rev} {desc}\n' -r 3 >> $EDITED $ hg log --template 'pick {node|short} {rev} {desc}\n' -r 4 >> $EDITED $ hg log --template 'fold {node|short} {rev} {desc}\n' -r 7 >> $EDITED $ hg log --template 'pick {node|short} {rev} {desc}\n' -r 5 >> $EDITED $ hg log --template 'pick {node|short} {rev} {desc}\n' -r 6 >> $EDITED $ cat $EDITED pick 092e4ce14829 3 c pick ae78f4c9d74f 4 d fold 42abbb61bede 7 does not commute with e pick 7f3755409b00 5 e pick dd184f2faeb0 6 f log before edit $ hg log --graph @ changeset: 7:42abbb61bede | tag: tip | user: test | date: Thu Jan 01 00:00:07 1970 +0000 | summary: does not commute with e | o changeset: 6:dd184f2faeb0 | user: test | date: Thu Jan 01 00:00:06 1970 +0000 | summary: f | o changeset: 5:7f3755409b00 | user: test | date: Thu Jan 01 00:00:05 1970 +0000 | summary: e | o changeset: 4:ae78f4c9d74f | user: test | date: Thu Jan 01 00:00:04 1970 +0000 | summary: d | o changeset: 3:092e4ce14829 | user: test | date: Thu Jan 01 00:00:03 1970 +0000 | summary: c | o changeset: 2:40ccdd8beb95 | user: test | date: Thu Jan 01 00:00:02 1970 +0000 | summary: b | o changeset: 1:cd997a145b29 | user: test | date: Thu Jan 01 00:00:01 1970 +0000 | summary: a | o changeset: 0:1715188a53c7 user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: Initial commit edit the history $ hg histedit 3 --commands $EDITED 2>&1 | fixbundle 2 files updated, 0 files merged, 0 files removed, 0 files unresolved merging e warning: conflicts while merging e! (edit, then use 'hg resolve --mark') Fix up the change (fold 42abbb61bede) (hg histedit --continue to resume) fix up $ echo 'I can haz no commute' > e $ hg resolve --mark e (no more unresolved files) continue: hg histedit --continue $ HGEDITOR=cat hg histedit --continue 2>&1 | fixbundle | grep -v '2 files removed' d *** does not commute with e HG: Enter commit message. Lines beginning with 'HG:' are removed. HG: Leave message empty to abort commit. HG: -- HG: user: test HG: branch 'default' HG: changed d HG: changed e merging e warning: conflicts while merging e! (edit, then use 'hg resolve --mark') Fix up the change (pick 7f3755409b00) (hg histedit --continue to resume) just continue this time keep the non-commuting change, and thus the pending change will be dropped $ hg revert -r 'p1()' e $ hg resolve --mark e (no more unresolved files) continue: hg histedit --continue $ hg diff $ hg histedit --continue 2>&1 | fixbundle 7f3755409b00: skipping changeset (no changes) log after edit $ hg log --graph @ changeset: 5:1300355b1a54 | tag: tip | user: test | date: Thu Jan 01 00:00:06 1970 +0000 | summary: f | o changeset: 4:e2ac33269083 | user: test | date: Thu Jan 01 00:00:07 1970 +0000 | summary: d | o changeset: 3:092e4ce14829 | user: test | date: Thu Jan 01 00:00:03 1970 +0000 | summary: c | o changeset: 2:40ccdd8beb95 | user: test | date: Thu Jan 01 00:00:02 1970 +0000 | summary: b | o changeset: 1:cd997a145b29 | user: test | date: Thu Jan 01 00:00:01 1970 +0000 | summary: a | o changeset: 0:1715188a53c7 user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: Initial commit contents of e $ hg cat e I can haz no commute manifest $ hg manifest a b c d e f $ cd .. Repeat test using "roll", not "fold". "roll" folds in changes but drops message and date $ initrepo r2 $ cd r2 Initial generation of the command files $ EDITED="$TESTTMP/editedhistory.2" $ hg log --template 'pick {node|short} {rev} {desc}\n' -r 3 >> $EDITED $ hg log --template 'pick {node|short} {rev} {desc}\n' -r 4 >> $EDITED $ hg log --template 'roll {node|short} {rev} {desc}\n' -r 7 >> $EDITED $ hg log --template 'pick {node|short} {rev} {desc}\n' -r 5 >> $EDITED $ hg log --template 'pick {node|short} {rev} {desc}\n' -r 6 >> $EDITED $ cat $EDITED pick 092e4ce14829 3 c pick ae78f4c9d74f 4 d roll 42abbb61bede 7 does not commute with e pick 7f3755409b00 5 e pick dd184f2faeb0 6 f log before edit $ hg log --graph @ changeset: 7:42abbb61bede | tag: tip | user: test | date: Thu Jan 01 00:00:07 1970 +0000 | summary: does not commute with e | o changeset: 6:dd184f2faeb0 | user: test | date: Thu Jan 01 00:00:06 1970 +0000 | summary: f | o changeset: 5:7f3755409b00 | user: test | date: Thu Jan 01 00:00:05 1970 +0000 | summary: e | o changeset: 4:ae78f4c9d74f | user: test | date: Thu Jan 01 00:00:04 1970 +0000 | summary: d | o changeset: 3:092e4ce14829 | user: test | date: Thu Jan 01 00:00:03 1970 +0000 | summary: c | o changeset: 2:40ccdd8beb95 | user: test | date: Thu Jan 01 00:00:02 1970 +0000 | summary: b | o changeset: 1:cd997a145b29 | user: test | date: Thu Jan 01 00:00:01 1970 +0000 | summary: a | o changeset: 0:1715188a53c7 user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: Initial commit edit the history $ hg histedit 3 --commands $EDITED 2>&1 | fixbundle 2 files updated, 0 files merged, 0 files removed, 0 files unresolved merging e warning: conflicts while merging e! (edit, then use 'hg resolve --mark') Fix up the change (roll 42abbb61bede) (hg histedit --continue to resume) fix up $ echo 'I can haz no commute' > e $ hg resolve --mark e (no more unresolved files) continue: hg histedit --continue $ hg histedit --continue 2>&1 | fixbundle | grep -v '2 files removed' merging e warning: conflicts while merging e! (edit, then use 'hg resolve --mark') Fix up the change (pick 7f3755409b00) (hg histedit --continue to resume) just continue this time $ hg revert -r 'p1()' e $ hg resolve --mark e (no more unresolved files) continue: hg histedit --continue $ hg histedit --continue 2>&1 | fixbundle 7f3755409b00: skipping changeset (no changes) log after edit $ hg log --graph @ changeset: 5:b538bcb461be | tag: tip | user: test | date: Thu Jan 01 00:00:06 1970 +0000 | summary: f | o changeset: 4:317e37cb6d66 | user: test | date: Thu Jan 01 00:00:04 1970 +0000 | summary: d | o changeset: 3:092e4ce14829 | user: test | date: Thu Jan 01 00:00:03 1970 +0000 | summary: c | o changeset: 2:40ccdd8beb95 | user: test | date: Thu Jan 01 00:00:02 1970 +0000 | summary: b | o changeset: 1:cd997a145b29 | user: test | date: Thu Jan 01 00:00:01 1970 +0000 | summary: a | o changeset: 0:1715188a53c7 user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: Initial commit contents of e $ hg cat e I can haz no commute manifest $ hg manifest a b c d e f description is taken from rollup target commit $ hg log --debug --rev 4 changeset: 4:317e37cb6d66c1c84628c00e5bf4c8c292831951 phase: draft parent: 3:092e4ce14829f4974399ce4316d59f64ef0b6725 parent: -1:0000000000000000000000000000000000000000 manifest: 4:b068a323d969f22af1296ec6a5ea9384cef437ac user: test date: Thu Jan 01 00:00:04 1970 +0000 files: d e extra: branch=default extra: histedit_source=ae78f4c9d74ffa4b6cb5045001c303fe9204e890,42abbb61bede6f4366fa1e74a664343e5d558a70 description: d done with repo r2 $ cd ..