2016-03-21 116 views
1

目标:没有这把不必要的文件创建一个新的存储库1.27 GB清理的HG回购

解决办法:使用汞转化和排除的文件

问题:文件没有得到排除

Filemap.txt内容:

exclude "feturehub/wp-content/uploads/backupbuddy_backups" 
exclude "feturehub/wp-content/uploads/edd/2015" 

命令

hg convert --filemap filemap.txt featurehub featurehubclean 

正从featurehub(SRC)的父文件夹运行,SRC还包含filemap.txt

我得到的是只有一个文件夹。 hg文件夹,并在其中我试图排除edd文件夹(这是相同的,如果edd或其'2015子文件被排除在外,2015年是唯一的edd文件夹)。

编辑:删除filemap.txt中的第三行,因为它不影响结果,但它确实会造成混淆。

EDIT2:

// fe is my source root, no there's no hg repo here, and each folder IS 
// a project with an hg repo, featurehub is one such project/repo 

AndrijaMBA:fe ajambrovic$ ls | grep file 
filemap.txt 

AndrijaMBA:fe ajambrovic$ hg convert --filemap filemap.txt featurehub featurehubclean 

initializing destination featurehubclean repository 
scanning source... 
sorting... 
converting... 
..... 

运行该命令后,新的回购,featurehubclean,包含EDD文件夹(及其子文件夹)。

+1

从我记得关于使用hg convert - 一个没有指定.hg文件夹(在filemap中)的文件。此外,除.hg文件夹外的空文件夹也是需要的 - 需要执行“hg update”来更新工作目录。 – Tom

+1

添加到汤姆的评论:.hg文件夹内的任何内容是*实际*存储库,但没有任何内部存在或可以跟踪。转换运行的结果存储库是* bare *存储库(因此只有.hg文件夹),没有修订*检出* ...只需检出修订即可,如果您愿意的话。通过理解工作目录状态和存储库之间的区别来解决你自己的问题 – planetmaker

+0

@Tom - 可能是,但是我有一个文件夹路径,问题是新的repo仍然包含该文件夹,我添加了一个路径到里面.hg只是为了看看它是否有帮助 - 事实并非如此。新目录是空的这一事实不是问题,新的回购有我想要排除的文件夹的事实。 – Andrija

回答

0

好的,问题是微不足道的 - 路径。相反的:

exclude "feturehub/wp-content/uploads/backupbuddy_backups" 
exclude "feturehub/wp-content/uploads/edd/2015" 

我应该用

exclude "wp-content/uploads/backupbuddy_backups" 
exclude "wp-content/uploads/edd/2015" 

这里的例子:

:使用(在这种情况下) “featurehub”,即使扩展文档状态https://confluence.atlassian.com/bitbucket/reduce-repository-size-321848262.html节目所有路径应指定为相对路径,该路径根源于 转换后的目录。应使用Unix路径语法,而不管 操作系统。