我正在寻找一种优雅的方式来使用相同程序的不同版本填充Mercurial,这些版本来自50个具有编号文件名的旧版本: prog1.py,prog2.py ... prog50.py 对于每个版本,我都希望保留日期和原始文件名,可能在更改注释中。
我是Mercurial的新手并且在没有找到答案的情况下进行了搜索。
答案 0 :(得分:3)
hg commit
有-d
来指定日期,-m
来指定评论。
hg init
copy prog1.py prog.py /y
hg ci -A prog.py -d 1/1/2015 -m prog1.py
copy prog2.py prog.py /y
hg ci -A prog.py -d 1/2/2015 -m prog2.py
# repeat as needed
答案 1 :(得分:2)
当然可以在一个小的bash脚本中自动化整个事情:
您可以通过stat -c %y ${FILENAME}
获取文件的修改日期。因此,假设文件是有序的:
hg init
for i in /path/to/old/versions/*.py do;
cp $i .
hg ci -d `stat -c %y $i` -m "Import $i"
done
介意,自然文件名排序是prog1,prog11 prog12,... prog19,prog2,prog21,....您可能希望将prog1重命名为prog01等,以确保在处理文件名之前正常排序或排序,例如:
hg init
for i in `ls -tr /path/to/old/versions/*.py` do;
cp /path/to/old/versions/$i .
hg ci -d `stat -c %y /path/to/old/versions/$i` -m "Import $i"
done