update re git-annex branch direct modification
This commit is contained in:
parent
9672496a93
commit
23e765b67c
3 changed files with 21 additions and 3 deletions
|
@ -164,6 +164,8 @@ updateRef ref
|
||||||
| ref == fullname = return Nothing
|
| ref == fullname = return Nothing
|
||||||
| otherwise = do
|
| otherwise = do
|
||||||
g <- Annex.gitRepo
|
g <- Annex.gitRepo
|
||||||
|
-- checking with log to see if there have been changes
|
||||||
|
-- is less expensive than always merging
|
||||||
diffs <- liftIO $ Git.pipeRead g [
|
diffs <- liftIO $ Git.pipeRead g [
|
||||||
Param "log",
|
Param "log",
|
||||||
Param (name++".."++ref),
|
Param (name++".."++ref),
|
||||||
|
@ -176,6 +178,12 @@ updateRef ref
|
||||||
-- By passing only one ref, it is actually
|
-- By passing only one ref, it is actually
|
||||||
-- merged into the index, preserving any
|
-- merged into the index, preserving any
|
||||||
-- changes that may already be staged.
|
-- changes that may already be staged.
|
||||||
|
--
|
||||||
|
-- However, any changes in the git-annex
|
||||||
|
-- branch that are *not* reflected in the
|
||||||
|
-- index will be removed. So, documentation
|
||||||
|
-- advises users not to directly modify the
|
||||||
|
-- branch.
|
||||||
liftIO $ GitUnionMerge.merge g [ref]
|
liftIO $ GitUnionMerge.merge g [ref]
|
||||||
return $ Just ref
|
return $ Just ref
|
||||||
|
|
||||||
|
|
|
@ -105,6 +105,11 @@ gitAnnexBadLocation r key = gitAnnexBadDir r </> keyFile key
|
||||||
gitAnnexUnusedLog :: FilePath -> Git.Repo -> FilePath
|
gitAnnexUnusedLog :: FilePath -> Git.Repo -> FilePath
|
||||||
gitAnnexUnusedLog prefix r = gitAnnexDir r </> (prefix ++ "unused")
|
gitAnnexUnusedLog prefix r = gitAnnexDir r </> (prefix ++ "unused")
|
||||||
|
|
||||||
|
{- .git/annex/journal/ is used to journal changes made to the git-annex
|
||||||
|
- branch -}
|
||||||
|
gitAnnexJournalDir :: Git.Repo -> FilePath
|
||||||
|
gitAnnexJournalDir r = addTrailingPathSeparator $ gitAnnexDir r </> "journal"
|
||||||
|
|
||||||
{- Checks a symlink target to see if it appears to point to annexed content. -}
|
{- Checks a symlink target to see if it appears to point to annexed content. -}
|
||||||
isLinkToAnnex :: FilePath -> Bool
|
isLinkToAnnex :: FilePath -> Bool
|
||||||
isLinkToAnnex s = ("/.git/" ++ objectDir) `isInfixOf` s
|
isLinkToAnnex s = ("/.git/" ++ objectDir) `isInfixOf` s
|
||||||
|
|
|
@ -21,9 +21,14 @@ deleting or changing the file contents.
|
||||||
|
|
||||||
This branch is managed by git-annex, with the contents listed below.
|
This branch is managed by git-annex, with the contents listed below.
|
||||||
|
|
||||||
Note that it assumes only it will modify the branch. If you go in and make
|
Note that git-annex assumes only it will modify this branch. If you go in
|
||||||
changes, be sure to remove `.git/index.git-annex` before running git-annex,
|
and make changes directly, it will probably revert your changes in its next
|
||||||
otherwise it will probably revert your changes in its next commit to the branch.
|
commit to the branch.
|
||||||
|
|
||||||
|
The best way to make changes to the git-annex branch is instead
|
||||||
|
to create a branch of it, with a name like "my/git-annex", and then
|
||||||
|
use "git annex merge" to automerge your branch into the main git-annex
|
||||||
|
branch.
|
||||||
|
|
||||||
### `uuid.log`
|
### `uuid.log`
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue