如何提交文件的许多编号旧版本

时间:2015-06-17 05:27:02

标签: mercurial

我正在寻找一种优雅的方式来使用相同程序的不同版本填充Mercurial,这些版本来自50个具有编号文件名的旧版本: prog1.py,prog2.py ... prog50.py 对于每个版本,我都希望保留日期和原始文件名,可能在更改注释中。

我是Mercurial的新手并且在没有找到答案的情况下进行了搜索。

2 个答案:

答案 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