Comments (7)
I have used cygwin, but not much. What is your scenario exactly? Cygwin paths
should look like normal unix paths, and boar certainly handles those.
Original comment by [email protected]
on 29 Feb 2012 at 12:55
from boar.
Specifically, I was referring to being able to navigate into a working
directory created in one environment using a different environment and then run
ci/co/status/etc and have it work.
The "repo_path" value stored in the info file in the .boar folder is where the
hiccup is occuring. If I run boar in cygwin and then on the same computer try
running boar from windows cmd prompt I get:
ERROR: The path /cygdrive/s/repos/boar_repo does not exist or does not contain
a valid repository.
I am proposing boar *first* try to translate the path to something cmd will
process (since boar nor cmd understand what to do with the /cygdrive/
mountpoint).
But yes, in a nutshell I'm referring to boar making a best (cross
platform/shell) effort to find the boar repo from the info stored in
"repo_path" of the .boar/info file before throwing up an error message.
I didn't know if this would come into play anywhere else but as far as I can
see having dug thru boar a little bit more now, working directories are the
only place where fully qualified/nonrelative paths seem to crop up (which
introduces the peculiarities of the different mountpoint/drive letter
specifications of the different platforms.
Original comment by [email protected]
on 29 Feb 2012 at 5:06
from boar.
Ah, now I finally understand this issue. I see your problem. However, I don't
think it is feasible to make boar understand and handle this situation. Also,
this problem will go away as soon as there is a stable boar network server,
because then the repo will be referred to by network name instead.
A workaround could be to enter the repo path as "/my_repo" and create a
symbolic link from that to your real repo in both your main windows drive and
your cygwin root. Not the most beautiful solution, but I think it should work...
Original comment by [email protected]
on 29 Feb 2012 at 11:04
- Changed state: WontFix
from boar.
REPO_PATH="/my_repo" works fine for cygwin since "/" points to the cygwin root
just like in any unix like system, but dos/cmd treats "/" as a relative path so
it wouldn't point anywhere consistent would it?
From within does have REPO_PATH="/my_repo" would mean cmd tries to find a
"my_repo" folder in the current directory (or am I misunderstanding your
suggestion?).
Original comment by [email protected]
on 1 Mar 2012 at 8:09
from boar.
From within does have = From within windows*
Original comment by [email protected]
on 1 Mar 2012 at 8:11
from boar.
Nope, forward slashes should work mostly the same way in windows. However, a
path starting with slash will refer to the root of the current drive.
So that is an important difference, "/myfile.txt" will refer to c:\myfile.txt
if your shell is using c: and d:\myfile.txt if your shell is using d:. That
could complicate the soft link workaround described above.
Any reason why you can't stay with cygwin? (I'd think it's a nicer environment
than the windows command prompt anyway...)
Original comment by [email protected]
on 1 Mar 2012 at 9:25
from boar.
Yes the windows command prompt is pretty horrid, so I usually do stick with
cygwin. When that's not an option I tend to use powershell over the cmd shell.
That being said, it's not a big issue, I only created the issue because it
might have been something that you were unaware of, and after going thru the
trouble of creating a bunch of working dirs (and particularly in light of the
fact that by design the workflow of boar seems to strongly encourage the use of
ci after the initial import) being able to use ci on a working directory as
long as the REPO_PATH variable is correctly set should be possible from any
supported shell.
Hard coding the repo path in the .boar/info file in a shell specific way seemed
to me to unnecessarily break workdirs.
I was thinking there were a few possibilities:
* boar could parse and convert the repo_path value it reads in from the info
file into a "neutral" format and pass the demunged path to boar/python so it
can find the repo.
* or boar could try to read the path in from the info file, if the shell
doesn't accept the path as valid, then boar could check to see if there is a
value indicated in the REPO_PATH environment variable and try to use that
I don't know what kind of checking boar is doing to make sure the repo path
indicated in the .boar/info file is in fact the *correct* repo to be importing
to in cases where someone might have multiple different boar repos. Say someone
has a memory card they have setup as a workdir, if they plug it in to a
different machine with a totally unrelated repo that is located at the same
path (say c:\repos\boar_repo), does boar necessarily catch that?
Ultimately, the issue just came down to referring to resources (including the
boar repo) in a uniform way for tools that are ostensibly cross platform.
Otherwise, the user experience of trying to use something cross platform hits
these annoying roadblocks (like having boar barf when it tries to use the
repo_path from a workdir).
Does boar handle the case when trying to run ci on a "portable" workdir (ie
thumbdrive or memory card) on windows and *nix?
Original comment by [email protected]
on 1 Mar 2012 at 1:42
from boar.
Related Issues (20)
- AssertionError: All filenames should be unicode
- Show progress when commit HOT 4
- Should be able to do status and update even with broken manifest
- Folders are not deleted HOT 1
- files that have been uploaded via ci should not have to be re-uploaded if the command was interrupted HOT 1
- Too restrictive permissions on session folders HOT 1
- Canceled import causes MutexLocked error on subsequent import. HOT 1
- Dedup on Windows?
- convert big dir to repo without copying
- Race condition causing only the content in the latest of concurrent commits to be visible HOT 2
- When in a working dir, "boar list" could default to the working dir's repo and session
- 'boar ci --quiet' is not very quiet
- Server-side hard errors gives unexpected error messages on client side
- boar hung at the end of a large import HOT 3
- Locked repo timeout causes unfriendly message
- Repository information should be cached locally, at least per operation HOT 1
- Serve multiple repository with a single boar serve HOT 1
- Error importing file with "\" in the filename HOT 4
- Misleading error message when using citation marks in the REPO_PATH in windows HOT 3
- Revert and Update should be seperate commands HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from boar.