如何提交文件的许多编号旧版本
How to commit many numbered old versions of a file
我正在寻找一种优雅的方式来使用同一程序的不同版本填充 Mercurial,来自 50 个具有编号文件名的旧版本:
prog1.py、prog2.py ... prog50.py
对于每个版本,我想保留日期和原始文件名,也许在更改注释中。
我是 Mercurial 的新手,搜索过但没有找到答案。
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
当然可以在一个小 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
我正在寻找一种优雅的方式来使用同一程序的不同版本填充 Mercurial,来自 50 个具有编号文件名的旧版本: prog1.py、prog2.py ... prog50.py 对于每个版本,我想保留日期和原始文件名,也许在更改注释中。
我是 Mercurial 的新手,搜索过但没有找到答案。
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
当然可以在一个小 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