...
- repository – a directory, that contains Git database and metadata.
- commit – a Git object, that contains containing a pointer to a data snapshot in Git database. Essentially, the commit is a hash-named file in Git database, that contains a reference to a tree object, representing a data snapshot in timefile tree snapshot along with author and date information. Commit is identified by its SHA1 hash value.
- branch – a reference to certain commit; a file in a Git database that contains a hash of a certain commit, thus referencing that particular commit.
- master branch – a default branch called master that's being created along with new repository. By agreement, it represents the main line of development, but technically it's just another branch.
- tag – like a branch, a reference to a commit - a file in a Git database that contains a hash of that particular commit. Git supports two kinds of *tags*: *lightweight* and *annotated*; SubGit supports only *lightweight tags*.
...
All the mapping configuration assembled in SubGit configuration file. The configuration file is being created at the SVN-to-Git translation beginning by SubGit's configure subcommand. The file is , that is situated in subgit subdirectory inside a newly created Git repository:
| Code Block |
|---|
| language | text |
|---|
| theme | FadeToGrey |
|---|
| title | SubGit confiuration file |
|---|
|
/GIT_REPOS_PATH
…
/subgit
…
/subgit/config |
Here is an example of how the [svn] of the configuration file may look like:
...
| Info |
|---|
|
- trunk must be mapped; the only exclusion is the configuration with no defined mapping - no trunk, branches, tags and shelves options at all - that may be used to import SVN projects with no branches.
- there must be only one trunk mapping.
- trunk cannot contain wildcards.
|
...
| No Format |
|---|
http://example.com/svn/repository/Project1/branches/feature_* |
svn.excludePath, svn.includePath
...
...
These are settings that provide a possibility to exclude (or vice versa, include) some files from translation. It may be useful e.g. if you have some big files in SVN that you don't want to be present in Git repository. The syntax is simple:
...