|
28 | 28 | fi
|
29 | 29 | bash+:import :std can
|
30 | 30 |
|
31 |
| -VERSION=0.4.1 |
| 31 | +VERSION=0.4.2-LFS |
32 | 32 | REQUIRED_GIT_VERSION=2.7.0
|
33 | 33 | GIT_TMP="$(git rev-parse --git-common-dir 2> /dev/null || echo .git)/tmp"
|
34 | 34 |
|
@@ -572,9 +572,13 @@ subrepo:pull() {
|
572 | 572 |
|
573 | 573 | o "Create ref '$refs_subrepo_branch' for branch '$branch_name'."
|
574 | 574 | git:make-ref "$refs_subrepo_branch" "$branch_name"
|
575 |
| - |
| 575 | + |
576 | 576 | o "Commit the new '$subrepo_commit_ref' content."
|
577 | 577 | CALL subrepo:commit
|
| 578 | + |
| 579 | + o "git lfs pull $subrepo_remote then commit" |
| 580 | + RUN git lfs pull "$subrepo_remote" |
| 581 | + RUN git commit -a --amend --allow-empty --no-edit |
578 | 582 | }
|
579 | 583 |
|
580 | 584 | # Push a properly merged subrepo branch upstream:
|
@@ -653,18 +657,17 @@ subrepo:push() {
|
653 | 657 | fi
|
654 | 658 |
|
655 | 659 | if ! $force_wanted; then
|
656 |
| - o "Make sure '$branch_name' contains the '$refs_subrepo_fetch' HEAD." |
| 660 | + o "Make sure '$branch_name' contains the '$refs_subrepo_fetch' HEAD, i.e. '$upstream_head_commit'." |
657 | 661 | if ! git:commit-in-rev-list "$upstream_head_commit" "$branch_name"; then
|
658 |
| - error "Can't commit: '$branch_name' doesn't contain upstream HEAD: " \ |
659 |
| - "$upstream_head_commit" |
| 662 | + error "Can't commit: '$branch_name' doesn't contain upstream HEAD: '$upstream_head_commit'" |
660 | 663 | fi
|
661 | 664 | fi
|
662 | 665 |
|
663 | 666 | local force=''
|
664 | 667 | "$force_wanted" && force=' --force'
|
665 | 668 |
|
666 | 669 | o "Push$force branch '$branch_name' to '$subrepo_remote' ($subrepo_branch)."
|
667 |
| - RUN git push$force "$subrepo_remote" "$branch_name":"$subrepo_branch" |
| 670 | + RUN git push$force --no-verify "$subrepo_remote" "$branch_name":"$subrepo_branch" |
668 | 671 |
|
669 | 672 | o "Create ref '$refs_subrepo_push' for branch '$branch_name'."
|
670 | 673 | git:make-ref "$refs_subrepo_push" "$branch_name"
|
@@ -805,7 +808,7 @@ subrepo:branch() {
|
805 | 808 | o "Remove the .gitrepo file from $first_gitrepo_commit..$branch"
|
806 | 809 | local filter="$branch"
|
807 | 810 | [[ -n "$first_gitrepo_commit" ]] && filter="$first_gitrepo_commit..$branch"
|
808 |
| - FAIL=false RUN git filter-branch -f --prune-empty --tree-filter \ |
| 811 | + FAIL=false RUN git filter-branch -f --tree-filter \ |
809 | 812 | "rm -f .gitrepo" "$filter"
|
810 | 813 |
|
811 | 814 | git:create-worktree "$branch"
|
@@ -1772,8 +1775,16 @@ git:is_merge_commit() {
|
1772 | 1775 |
|
1773 | 1776 | git:create-worktree() {
|
1774 | 1777 | local branch="$1"
|
| 1778 | + local pwd=$(pwd) |
1775 | 1779 | worktree="$GIT_TMP/$branch"
|
| 1780 | + o "git worktree add '$worktree' '$branch'" |
1776 | 1781 | RUN git worktree add "$worktree" "$branch"
|
| 1782 | + |
| 1783 | + cd "$worktree" |
| 1784 | + o "git lfs pull from folder '$(pwd)' then commit" |
| 1785 | + RUN git lfs pull |
| 1786 | + RUN git commit -a --amend --allow-empty --no-edit |
| 1787 | + cd "$pwd" |
1777 | 1788 | }
|
1778 | 1789 |
|
1779 | 1790 | git:remove-worktree() {
|
|
0 commit comments