Comments (22)
Is this project still maintained? This is still an issue.
from synx.
Managed to get this to reproduce reliably, after a particularly terrifying afternoon.
Works with XCode Version 7.2 (7C68)
- Create a new project (I used the template for iOS Single View Application)
- Make it into a git repo
- Create a storyboard file in the project
- Remove the storyboard file reference from XCode
- Move the storyboard file into a subfolder at the same level as the .xcodeproj (the name does not appear to matter. I got this bug because I had a storyboard in a "Base.lproj" folder but the bug can be reproduced with a name like "Potato" as well
- Drag the storyboard file back into XCode, and don't copy it
- git status --> A-OK 👌
- synx projectname.xcodeproj
- git status --> EVERYTHING BURNS 🌏🔥🔥🔥🔥🔥🔥💀💀💀💀💀💀
@nunogoncalves @Mark2xv I guess it's been a long time since you guys have had this problem, but just FYI it seemed to work for me after this: I moved the offending files out of the project structure, removed references in XCode, then dragged them into the project and let xcode put them wherever it wants.
from synx.
Since I don't know Ruby, I opted to fix these issues using a shell script. You can grab a copy here:
https://gist.github.com/noordawod/ea1a5fc1fb5654fcba509f6e5862a4eb
from synx.
After running synx, the .git folder seems to get destroyed. It is still there, but git does not recognize it as such.
What does this mean exactly? What makes it seem like it was destroyed? What is not working?
from synx.
The folder is still there, but git does not recognize it as a repository.
Steps taken:
synx /Users/mark/touch/touch.xcodeproj
Wait for it to finish..
Finishes without any errors.
Afterwards, check git status
:
fatal: Not a git repository (or any of the parent directories): .git
I'll check tomorrow what's actually changing in the .git directory to try and figure out what's changing.
from synx.
That's weird... does it look like anything is missing from .git
?
from synx.
Yes, some things are definitely missing.
A diff -r touch/.git backupSynxedGit
shows this:
Only in touch/.git: FETCH_HEAD
Only in touch/.git: HEAD
Only in touch/.git: config
Only in touch/.git: index
Only in touch/.git/logs: HEAD
and a whole lot more such as the contents of .git/modules
.
I also spotted this in the output of synx:
Syncing files that are not included in Xcode project..
Localizable.strings/
.git
COMMIT_EDITMSG
config
FETCH_HEAD
HEAD
index
logs
HEAD
refs
heads
develop
feature
-featurenameredacted-
-featurenameredacted-
hotfix
2.5.5
master
remotes
origin
feature
-featurenameredacted-
-featurenameredacted-
HEAD
hotfix
2.5.5
modules
touch
And basically the entire contents of .git.
Why is it putting it as if it's 'under' Localizable.strings? It is most surely not located there.
from synx.
Why not just completely ignore any directory called .git and any file called .gitmodules or .gitignore? I can't think of any circumstance where you would want to change the location of those.
from synx.
Synx creates another directory in a temporary location on your computer, builds the synced up version of your project there, and then moves it over to replace the original. So, because it works this way, synx can't just ignore things like .git
-- it needs to bring them over to the synced up version.
I've never heard of this issue before, so I'm assuming that there is something unique with the way your project is setup. Mostly people's .git
directory lives alongside their project directory. IE,
└── YourClonedRepo
├── .git
├── YourProject
It seems like yours is more like
└── YourProject
├── .git
which is why Synx needs to tamper with the .git
directory.
As far as why it's not moving your .git
directory correctly, I'm not sure. It doesn't seem like it should be treating it any differently than any other directory. It's hard to diagnose without having the project.
from synx.
For a number of reasons I can't show you the project, and absolutely under no circumstance share the files themselves.
What would you need to try and figure out what's going on?
from synx.
@Mark2xv Would you be able to create a similar project which can be used to reproduce the issues? Steps to reproduce, or an example project you can run with Synx to reproduce would help figuring out the problem.
from synx.
what @kylef said
from synx.
Alright, I'll see if I can recreate the same scenario.
from synx.
@Mark2xv any luck?
from synx.
Haven't really had the chance to investigate/reproduce this issue as of yet. I'll try to do so this weekend.
from synx.
Having a really hard time figuring out what is the cause of this is...
None of my reproduction cases seem to have any effect.
On a sidenote:
I noticed that in another issue (#65) that the -e option does not do what I thought it does. Not that it has/had any effect though, including exclusion options or not, it still seems to delete roughly 2/3rds of my folders contents. (Goes from 550MB to 200MB).
Is there no way of making sure it absolutely ignores any folder that is a submodule? So that it completely copies it over, exactly as it was, to the newly synced folder?
from synx.
I have the same issue. I'm still trying to figure this one out and came here to see if anybody as the same problem.
from synx.
I haven't had much time lately to try and figure out what's causing all of this.
Unfortunately, I can not give any more information regarding our project structure either...
I really hope this issue will get solved as this would save a lot of time!
from synx.
Thanks for the info @jonzhan . On a company project I was doing also had translations (therefor the Base.lproj folder). In that project I always remove the .git files before I run synx. This is dangerous because it's not automated, and I guess it's just a matter of time before I make a wrong copy paste and have to checkout the whole project all over again :)
from synx.
I am facing the same problem.
I tried the code of #104 but I couldn't resolve the problem.
from synx.
Any news on this? I'm having the same problem
from synx.
Burned up my .git
directory as well 👎 In the log I can definitely see synx
handling .git
folder. Why on earth should it do that? I think all hidden directories (aka, starts with a .
) should be ignored.
Plus, the Pods
directory...
Well, there should be an option to let me decide which directories to ignore altogether -- not just only an option to ignore groups.
from synx.
Related Issues (20)
- Crash report: Errno::EEXIST
- Have the synx work in oposite direction as well? HOT 1
- Swift Scripting HOT 2
- Synx can irreversibly remove all your files HOT 1
- *.xcassets files was removed HOT 2
- Not work HOT 1
- Trunk whole path in filename
- Feature request: exclude files HOT 1
- Xcode 8 name
- synx error happens HOT 1
- running synx with --no-color fails and deletes all the files
- Is it possible to separate convert logic into a couple of steps?
- Synx removes empty folder HOT 1
- Sorting isn't localized (ZZ sorts before aa)
- GUI Wrapper App
- Removing bridging header file from project HOT 2
- Since using Synx Xcode Assistant no longer works
- support Mojave in different configurations
- [SPM] The problem with incorrect interaction with Swift Package Manager HOT 3
- Please add me as a contributor to the project HOT 2
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 synx.