Satis fails to build if package is moved within SVN respository
- Dominant language
- PHP
- Stars
- 3.3k
- Forks
- 530
- Avg merge
- 6h 53m
- Merged PRs (30d)
- 13
Description
I have some project in a SVN repository. The directory structure looks like this:
```
$svn-root/project/
- trunk
- composer.json
- ...
- branches (empty)
- tags (empty)
```
Now I created the folder `$svn-root/sub/`, and moved `$svn-root/project/` into `sub/`, using `svn mv project/ sub/` and committing afterwards. Now, the revision is XXX. I updated my satis configuration file to contain the new path `$svn-root/sub/project`.
But now, I can't update my satis repository anymore (even after deleting the outputs and caches), because satis tries to download the `composer.json` at the revision when it was last changed, which was before the directory move, but from the new location.
If the `composer.son` was last changed in revision YYY, satis executes this command:
```
Executing command (CWD): svn cat --non-interactive --username '...' --password '...' '$svn-root/sub/project/trunk/composer.json@YYY'
```
This fails, since in revision YYY the file is still located at `$svn-root/project/trunk/composer.json`.
Contributor guide
Research direction
Start by tracing how Satis reads the configured SVN path and builds the `svn cat` command shown in the report. Reproduce the move from `$svn-root/project` to `$svn-root/sub/project` and verify that updating the repository succeeds when the file's last-change revision predates the move.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100