brandizzi icon

Pushing from a partial clone to the original Mercurial repo

brandizzi | PRO | 03/27/13 02:05:57 PM UTC | 0 ⭐ | 782 👁️ | Never ⏰ | []
Bash |

790 B

|

None

|

0 👍

/

0 👎

#!/usr/bin/env sh
# Create some files
mkdir repo1
cd repo1
mkdir -p d1 d2 d3
touch d1/f{1,2}
echo abc > d2/sometext
echo 123 > d3/somenumbers
 
# Make it a mercurial repository
hg init
hg add
hg com -m "Created"
 
# Converting/importing/partially cloning repo1
cd ..
cat > f <<EOF
exclude *
include d1
EOF
hg convert --filemap fileset repo1/ repo2
cd repo2
hg update
 
# Making updates on converted repository
echo "some content on d1/f1" > d1/f1
hg com -m "Updated d1/f1"
 
# Pushing from repo2 to repo1
hg push ../repo1 -f # Note the -f flag
cd ../repo1
echo "HEADS ON repo1 AFTER FORCED PUSH FROM repo2"
hg heads
 
# Merging updates from repo2 into repo1
hg merge
hg com -m merging
echo "HEADS ON repo1 AFTER MERGE OF PUSH FROM repo2"
hg heads
echo "GRAPHIC LOG"
hg glog

Comments