move tracking exports to design
This commit is contained in:
parent
506701e14a
commit
af0958dd70
2 changed files with 24 additions and 28 deletions
|
@ -50,12 +50,6 @@ tree.
|
||||||
If an export is interrupted, running it again should resume where it left
|
If an export is interrupted, running it again should resume where it left
|
||||||
off.
|
off.
|
||||||
|
|
||||||
It would also be nice to have a way to say, "I want to export the master branch",
|
|
||||||
and have git-annex sync and the assistant automatically update the export.
|
|
||||||
This could be done by recording the treeish in eg, refs/remotes/myexport/HEAD.
|
|
||||||
git-annex export could do this by default (if the user doesn't want the export
|
|
||||||
to track the branch, they could instead export a tree or a tag).
|
|
||||||
|
|
||||||
## updating an export
|
## updating an export
|
||||||
|
|
||||||
The user can at any time re-run git-annex export with a new treeish
|
The user can at any time re-run git-annex export with a new treeish
|
||||||
|
@ -76,6 +70,26 @@ that swap names.
|
||||||
If the special remote supports copying files, that would also make some
|
If the special remote supports copying files, that would also make some
|
||||||
updates more efficient.
|
updates more efficient.
|
||||||
|
|
||||||
|
## tracking exports
|
||||||
|
|
||||||
|
This lets the user say, "I want to export the master branch",
|
||||||
|
and have git-annex sync and the assistant automatically update the export
|
||||||
|
when master changes.
|
||||||
|
|
||||||
|
git-annex export could do this by default (if the user doesn't want the
|
||||||
|
export to track the branch, they could instead export a tree or a tag). Or
|
||||||
|
it could be a --tracking parameter.
|
||||||
|
|
||||||
|
How to record the export tracking branch? It could be stored
|
||||||
|
as refs/remotes/myexport/master. This says that the master branch
|
||||||
|
is being exported to myexport, and the ref points to the last treeish
|
||||||
|
that was exported.
|
||||||
|
|
||||||
|
But.. master:subdir is a valid treeish, referring to the subdir
|
||||||
|
of the current master tree. This is a useful thing to want to export.
|
||||||
|
But, that's not a legal ref name. So, perhaps better to record
|
||||||
|
the export tracking branch some other way. Perhaps in git config?
|
||||||
|
|
||||||
## changes to special remote interface
|
## changes to special remote interface
|
||||||
|
|
||||||
This needs some additional methods added to special remotes, and to
|
This needs some additional methods added to special remotes, and to
|
||||||
|
|
|
@ -28,8 +28,7 @@ Work is in progress. Todo list:
|
||||||
|
|
||||||
This needs a (local) record of what treeish the (local) export db
|
This needs a (local) record of what treeish the (local) export db
|
||||||
was last updated for, which is updated at the same time as the export log.
|
was last updated for, which is updated at the same time as the export log.
|
||||||
One way to record that would be as a git ref. (Which may also help
|
One way to record that would be as a git ref.
|
||||||
for tracking exports of eg the master branch, see below.)
|
|
||||||
|
|
||||||
When the export log contains a different treeish than the local
|
When the export log contains a different treeish than the local
|
||||||
record, the export was updated in another repository, and so the
|
record, the export was updated in another repository, and so the
|
||||||
|
@ -39,27 +38,10 @@ Work is in progress. Todo list:
|
||||||
logged treeish. Add/delete exported files from the database to get
|
logged treeish. Add/delete exported files from the database to get
|
||||||
it to the same state as the remote database.
|
it to the same state as the remote database.
|
||||||
|
|
||||||
* git-annex sync to export and export tracking branch
|
* tracking exports
|
||||||
|
|
||||||
This needs a way to configure an export tracking branch.
|
* Support configuring export in the assistant
|
||||||
Eg, `git annex export --tracking master --to myexport`
|
(when eg setting up a S3 special remote).
|
||||||
|
|
||||||
(There should only be one tracking branch per export remote.)
|
|
||||||
|
|
||||||
Then running `git annex sync --content` would update the export with
|
|
||||||
any changes to master.
|
|
||||||
|
|
||||||
How to record the export tracking branch? It could be stored
|
|
||||||
as refs/remotes/myexport/master. This says that the master branch
|
|
||||||
is being exported to myexport, and the ref points to the last treeish
|
|
||||||
that was exported.
|
|
||||||
|
|
||||||
But.. master:subdir is a valid treeish, referring to the subdir
|
|
||||||
of the current master tree. This is a useful thing to want to export.
|
|
||||||
But, that's not a legal ref name. So, perhaps better to record
|
|
||||||
the export tracking branch some other way. Perhaps in git config?
|
|
||||||
|
|
||||||
* Support export in the assistant (when eg setting up a S3 special remote).
|
|
||||||
|
|
||||||
This is similar to the little-used preferreddir= preferred content
|
This is similar to the little-used preferreddir= preferred content
|
||||||
setting and the "public" repository group. The assistant uses
|
setting and the "public" repository group. The assistant uses
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue