![]() ![]() Git commit -m "Test ignores translation." gitignore to add patterns you're not sure about ![]() Subgit configure -svn-url file:///path/to/svn.repo git.repo If you have questions about some certain scenario, don’t hesitate to ask or just try it on some test SubGit setup: svnadmin create svn.repo gitignore lines that are exceptions to general recursive rules). gitignore lines (unless the patterns are recursive, in this case removals result into. gitignore lines, removing of some svn:ignore lines result into removing of corresponding. Editing of some svn:ignore lines result into editing of corresponding. It’s really difficult to enumerate all possible changes and the way SubGit handles them. gitignore and in svn:ignore properties are kept in sync and changes to them are synchronized in the most meaningful way. gitignore format documentation on recursive and non-recursive patterns. gitignore may result in massive change in SVN, so be careful about recursive patterns! I recommend to use non-recursive patterns wherever possible. Sometimes this means that small change in. For example, when Git pattern *.o is applied recursively, it adds *.o line to every svn:ignore value on all the directories inside the corresponding SVN branch or trunk. Recursive patterns are applied recursively to every relevant directory setting svn:ignore on all of them to have the same set of ignored paths in SVN and Git. Non-recursive patterns are translated by setting svn:ignore on corresponding directories. The following Git patterns are not recursive: /* The patterns are recursive if they contain no slash ‘/’ except maybe at the end of the pattern. In Git there’s a notion of recursive patterns. in SVN all directories and files are ignored (this is not perfect but the best one can do). So SubGit treats /ignoredDirectoryOnly/’ in the same way as ‘/ignoredDirectoryOnly’, i.e. Pattern ignores only directories with such name but not files (because it ends with slash ‘/’) while in SVN there’s no way to ignore only directories but not files. Node that in Git ‘/ignoredDirectoryOnly/’ ![]() ![]() In some sense this mimicks behaviour of global ignores. gitgnore pattern will automatically apply to them and they will get svn:ignore=ignoredPattern on them after translation to SVN. If you add some directory to the Git tree root later, when pushing this. Moreover, an empty ‘ignoredDirectory’ will be created and it will have svn:ignore ignoredFileĪlso ‘/*/ignoredPattern’ will be applied to every directory inside the branch root or trunk resulting into svn:ignore=ignoredPattern on them (if there’re any). The following svn:ignore properties will be set on the branch root or trunk: ignoredFile gitignore of the following content to Git repository root: /ignoredFile The idea of this property to maintain the set of ignored path in Git and SVN equal, when possible. It is enabled by default, one can disable it on the fly by edting subgit/config and running ‘subgit install’ to apply changes but one cannot enable it back once it is disabled. In general, ignores processing is controlled by translate.ignores option. I’ve found out we don’t have well-written documentation on this topic. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |