Re: problem with git-pull
- In reply to: Jan Beich : "Re: problem with git-pull"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 13 Sep 2023 23:32:55 UTC
Hello. I think this is a very difficult problem for people like me who are just maintainers and do not have the right to commit. How are you all solving this? :) I have 3 clone repositories. 1. shallow clone created automatically by root using poudriere ports -c -m git+https. 2. full clone created by root using git clone. 3. shallow clone created by user-tatsuki using git clone. And, the result of poudriere ports -l is in the following state. # poudriere ports -l default portsnap 2023-09-13 20:49:40 /usr/local/poudriere/ports/default git git+https 2023-09-13 20:49:43 /usr/local/poudriere/ports/git <- this is 1. null null 2023-08-09 00:00:31 /home/git/FreeBSD/ports/main <- this is 2. svn svn+https 2023-08-09 00:04:46 /usr/local/poudriere/ports/svn The directory of poudriere packages is tricked out. Below is an excerpt of the ls results. > ls -l /usr/local/poudriere/data/packages/ total 20 drwxr-xr-x 3 root wheel 512 Sep 14 05:51 src-default lrwxr-xr-x 1 root wheel 11 Apr 7 2021 src-git -> src-default lrwxr-xr-x 1 root wheel 11 Apr 25 2021 src-null -> src-default lrwxr-xr-x 1 root wheel 11 Apr 3 2019 src-svn -> src-default This keeps the packages in one place no matter which porttree is used. If the porttrees are from the same period, package rebuilding is unlikely to occur. However, if poudriere bulk -j src -p default and poudriere bulk -j src -p git are run at the same time, they will fail. And so, back to the main topic :) For example, I now need to update print/epson-inkjet-printer-escpr{,2} :) In such a case, first synchronize 3. to the HEAD of origin. Editing print/epson-inkjet-printer-escpr in the repository in 3. to make it newer than the head of origin. Then, copy the changes in 3. to 1. using rm -r /pathto1./print/epson-inkjet-printer-escpr and cp -R /pathto3./print/epson-inkjet-printer-escpr /pathto1./print/ . Test build without updating poudriere porttree. poudriere bulk -t -j src -p git print/epson-inkjet-printer-escpr The default porttree is used for undo. poudriere bulk -j src print/epson-inkjet-printer-escpr The git repository in poudriere will not be modified in any funny way, so it will be easily reverted by restore, reset or clean. Simply put, the updated parts in the new tree are imported into the old tree :) A full clone of 2. is used to create an older version of a package, for example, seamonkey-2.49.4_27 :) This email is also written by seamonkey-2.49.4_27, but the build process for it is the opposite of the direction of this issue, so I will omit it :) I hope that from this we can generate hints for solutions and ideas for making things easier :) Regards.