Comments (20)
@jvcoutinho na realidade é mais interessante mantermos esses binários num repositório à parte. Toda vez que commitamos os binários recebemos a seguite mensagem:
remote: warning: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
remote: warning: See http://git.io/iEPt8g for more information.
remote: warning: File installer/s3mInstaller.jar is 75.25 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
Sem contar que deixa o projeto muito grande para só quem precisa do código fonte. Então, idealmente, o que precisamos é o seguinte.
- Mecanismo de geração automática de binários (o instalador e a ferramenta standlone).
- Armazenamento em umrrepositório secundário desses binários
- Apagar esses binários do repositório oficial
- Geração automática do binário para a execução dos shelltests. @gaabs já faz isso em #34 precisamos sincronizar isso
ok @pauloborba ?
from jfstmerge.
@guilhermejccavalcanti se esse arquivo só é modificado de tempos em tempos, poderia deixar tudo no mesmo repositório mesmo, para eliminar um ponto de falha e simplificar a replicação. se é modificado frequentemente, aí faz mais sentido deixar em outro local mesmo
from jfstmerge.
from jfstmerge.
from jfstmerge.
@guilhermejccavalcanti @pauloborba eu posso adaptar a configuração do Gradle para copiar os binários para suas devidas pastas, ok? E sobre o repositório secundário, ele conterá sempre o último binário modificado, "espelhando" o código do repositório principal, é isso?
from jfstmerge.
eu posso adaptar a configuração do Gradle para copiar os binários para suas devidas pastas, ok?
como seria isso na prática? em que momento haveria essa criação e copia dos arquivos? Se liga também que o s3mInstaller.jar contém um s3m.jar (uma versão renomeado do jFSTMerge.jar). Então teria que abrir esse s3mInstaller.jar, e substituir o jar de dentro pelo novo, toda vez.
E sobre o repositório secundário, ele conterá sempre o último binário modificado, "espelhando" o código do repositório principal, é isso?
isso, e o readme original tirando a parte referente a código.
from jfstmerge.
from jfstmerge.
Entendi, ainda assim, não seria 100% automático, né, pois temos que nos lembrar de gerar a build do gradle pra pegar os jars? @gaabs fez algo automático no momento de execução do travis, num foi?
from jfstmerge.
from jfstmerge.
Não, não. Não tenho preferência não. O que tou querendo saber se há como deixar isso totalmente automático, pois a build do gradle é manual, ou tou errado?
from jfstmerge.
from jfstmerge.
Para usar o novo recurso, basta digitar
git lfs install --skip-smudge
na linha de comando. Esse parâmetro fará o git lfs não fazer download nos binários.
from jfstmerge.
@jvcoutinho onde informacoes como essa acima aparecem no readme/codigo para ajudar a quem quiser colaborar com o desenvolvimento do sistema? é importante documentar bem para reduzir a barreira de colaboracao com o projeto
from jfstmerge.
@pauloborba posso atualizar o README com as mudanças feitas até agora, pode ser?
from jfstmerge.
sim, por favor
from jfstmerge.
Tem um bug com essa abordagem, que eu não previ. Como o updateInstaller
apenas modifica um arquivo dentro do jar, caso este só seja uma referência pro arquivo original, não há como modificar.
from jfstmerge.
@jvcoutinho mas temos efetivamente uma situação dessa, de querer atualizar um arquivo que é um alias para outro arquivo?
from jfstmerge.
Sim, isso é visível nos repositórios locais.
Uma abordagem mais certeira é gerar o binário do 0, ao invés de atualizar apenas um arquivo dentro.
from jfstmerge.
@guilhermejccavalcanti and @gaabs any opinion on that?
from jfstmerge.
@phmb Eu pensei em outra abordagem, que foi baixar o jar do instalador antes de fazer o update. O comando git lfs pull
faz isso, e é rápido.
Isso vai criar uma dependência do gradle com o git lfs, mas é melhor do que criar o arquivo do 0, na minha opinião.
from jfstmerge.
Related Issues (20)
- Replace REGEX on Initialization Blocks Handler to check var declarations
- IOException when attempting to create log
- general renaming handler should not be configurable and should not invoke renaming strategies
- --ignore-space-change flag for all situations HOT 3
- "getMostAccurateMatchForNonAbstractMethods" method returning innapropiate results HOT 2
- should import declarations reach renaming handlers? HOT 5
- duplicated commas when merging enums
- Log and statistics files not updating after every execution
- Parameter to enable/disable unstructured merge output
- Trocar Travis CI por GitHub Actions
- Investigar e corrigir erro de build no Travis CI
- Consider left, base and right trees at the same time when superimposing instead of merging trees in pairs.
- Regression Tests instead of shelltests
- Initialization Blocks Multiple Handler (-hibmb/--handle-initialization-blocks-multiple-blocks) is not present in the S3m.jar HOT 3
- MINE conflict marker not in its own line
- `NullPointerException` at renaming handler
- Duplicated Prefix
- TypeAmbiguityError Handler should report a conflict in a few situations in which import package is replaced by import of individual members
- s3m reporting inconsistent number of conflicts and renaming conflicts
- s3m reporting wrong results when merging initialization blocks from different innerclasses
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 jfstmerge.