From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.1 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1762886204; bh=DzLI6Y3g3RxpsaZuGvvhQRXiux0/JuBOHpX9E7aLYYQ=; h=Subject:From:To:Date:Message-ID; b=kDT+fSgtfazPCDYp2hW/IDYTGPPzxIv8McV6+o7AYb2NOeFO/aKSdWtxOYO80ZM56 I/cRQdoPDX0Aa184nayKbXvTg9EJ8wBPWczg/sqBxoD1PPlfzk0Hh9FzAzARj0qPtw Mcoc4jqMFQ8/+CtXLAAQs72dAwpSvnj61ErBDC60= Authentication-Results: mail-nwsmtp-smtp-production-main-60.sas.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <1e0a26fc-b507-4833-bfc3-d0a211bf0885@yandex.ru> Date: Tue, 11 Nov 2025 21:36:19 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: devel-newbies@lists.altlinux.org From: Alexander Lubyagin Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: [newbies] git pull into subdirectory X-BeenThere: devel-newbies@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: "devel@ where you _can_ ask" List-Id: "devel@ where you _can_ ask" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2025 18:36:47 -0000 Archived-At: List-Archive: Добрый день. Возник такой вопрос. Во многих репозиториях Альта принят принцип - хранить исходники в подкаталоге %name/%name/ Как оформить первый коммит, чтобы из удалённого репозитория свежие коммиты подтягивались сразу в подкаталог по git fetch? Вручную, у меня получилось так, для пакета mdless (markdown viewer in Ruby):  cd mdless  git init -b master .  git remote add upstream https://github.com/ttscoff/mdless  git remote -v  git fetch upstream  git merge -s ours --no-commit upstream/develop  git read-tree --prefix=mdless -u upstream/develop  git commit -m "Subtree merged in mdless/"  git remote add local /opt/gk/man/mdless  git remote -v  git push --set-upstream local master  ls -l mdless/  git ls-files | less -- Однако, таким способом получается дублирующийся список файлов: в ./ и в ./mdless/ Я искал другие способы. Из найденных: [1] Использование git subtree [2] Использование git sparse checkout [3] Использование git worktree [4] Использование submodule [5] Переименование файлов + filter-branch: https://stackoverflow.com/a/4042965 Какой из вариантов наиболее правильный? Я пробовал смотреть в имеющихся пакетах, но, бывает, changelog длиннее, чем git log. Или, всё же, правильный вариант - с gear-uupdate? https://www.altlinux.org/Gear/gear-uupdate --