Skip to content
This repository has been archived by the owner on Jul 12, 2020. It is now read-only.

Change directory structure for repo merge #147

Merged
merged 1 commit into from
Jun 13, 2020

Conversation

ang-zeyu
Copy link

@ang-zeyu ang-zeyu commented May 30, 2020

What is the purpose of this pull request? (put "X" next to an item, remove the rest)

• [x] Other, please explain:

first of a series of PRs to change overall developer / maintainer workflow by merging this repo with the main /markbind repo, as discussed in

MarkBind/markbind#411
MarkBind/markbind#981

What is the rationale for this request?

To allow for a clean merge of this repo into the main /markbind repo, we need to ensure the directory structure dosen't conflict.

What changes did you make? (Give an overview)
Moved all appropriate files under frontend/components directory. (except .gitignore, and previously already gitignored files (e.g. node_modules))

Is there anything you'd like reviewers to focus on?

  • tentative directory structure of the merge
frontend
  - components (this repo)
  - assets (folder from /markbind repo)
  • Is there an even better way to merge two repo histories? What I have in mind:
    • get this pr merged
    • merge /vue-strap's upstream into my /markbind's origin
    • make a pr from my /markbind's origin to upstream (not so sure if history is preserved this way)
    • get someone with write access to merge /vue-strap's upstream with /markbind

Testing instructions:
na

Proposed commit message: (wrap lines at 72 characters)

Change directory structure for repo merge

Markbind's vue component definitions are stored in the vue-strap fork.
This has some implications on development and maintainer workflow (see
issue yuche#411 for more detail), most notably needing to manually copy the
minified bundle to test changes in /vue-strap.

An alternative was raised in issue #981 to alleviate this, that is to
make /vue-strap a scoped package. This still has several drawbacks as
compared to a complete repo merge as outlined in yuche#411, such as needing
to run tests on both repos.

Hence, let's prepare the directory structure of the vue-strap fork
to allow for a clean merge into the /markbind repo, preserving
the commit history of /vue-strap.

Markbind's vue component definitions are stored in the vue-strap fork.
This has some implications on development and maintainer workflow (see
issue yuche#411 for more detail), most notably needing to manually copy the
minified bundle to test changes in /vue-strap.

An alternative was raised in issue #981 to alleviate this, that is to
make /vue-strap a scoped package. This still has several drawbacks as
compared to a complete repo merge as outlined in yuche#411, such as needing
to run tests on both repos.

Hence, let's prepare the directory structure of the vue-strap fork
to allow for a clean merge into the /markbind repo, preserving
the commit history of /vue-strap.
@ang-zeyu
Copy link
Author

@damithc do you have experience merging two repos? is the above mentioned the best way to preserve /vue-strap's history?

@damithc
Copy link

damithc commented Jun 13, 2020

@damithc do you have experience merging two repos? is the above mentioned the best way to preserve /vue-strap's history?

Sorry. Haven't done something of that nature. W.r.t. to preserving history, in the unlikely event we need to dig through the history, we can always go back to the original repo I guess.

@ang-zeyu
Copy link
Author

ok, I'll get in this in then, we can change the more trivial things like directory structure later on

@ang-zeyu ang-zeyu merged commit 93e0f50 into MarkBind:master Jun 13, 2020
@acjh
Copy link

acjh commented Jun 13, 2020

Thanks for this attempt.

is the above mentioned the best way to preserve /vue-strap's history?

It is the best way to preserve /vue-strap's history and is how we merged /markbind-cli in MarkBind/markbind#169.

However, it may not be the best way to merge /vue-strap into MarkBind considering:

  • a significant number of commits (~700 according to yuche/vue-strap, ~60% of /vue-strap, ~50% of /markbind) are unrelated to MarkBind's history.
  • significant changes have been made.
  • the upstream repo is already archived.

I think we can just move everything in a single commit into frontend/components in MarkBind.

  • in a separate commit, remove files:
    • .tern-project
    • .travis.yml
    • bower.json
  • in a separate commit, update:
    • README.md
    • the fields in package.json (and package-lock.json)

Related: Let's update the link on https://markbind.org/vue-strap/.

@ang-zeyu
Copy link
Author

Thanks for the input! Those are indeed good points.
I'll follow that then, and do a simple copy-paste PR (for documentation), followed by the above commits and then a devGuide update

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants